rt2x00 Arrived at non-free entry in the non-full queue 2

Bug #855239 reported by Ted Strong
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Leann Ogasawara
Natty
Fix Released
Medium
Leann Ogasawara
Oneiric
Fix Released
Medium
Leann Ogasawara

Bug Description

== SRU Justification ==
The rt2x00 driver gets frequent occurrences of the following error
message when operating under load:

  phy0 -> rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in
  the non-full queue 2.

Wireless eventually fails and the driver must be reloaded in order to
operate.

For Oneiric, this is a clean cherry-pick from upstream commit 77a861c4.
Natty needed minor fix-ups to apply cleanly. Bug reporter has tested
and confirmed this resolves the issue.

== Impact ==
Bug reporter has Ralink corp. RT2800 802.11n PCI [1814:0601] card

== Test Case ==
Under load look for the message "phy0 -> rt2x00queue_write_tx_frame: Error - Arrived
at non-free entry in the non-full queue 2." and wifi eventually fails.
With a patched kernel, under load, message is not see and wifi continues
to function.

== Fix ==
Upstream commit 77a861c405da75d81e9e6e32c50eb7f9777777e8

-----

After a few hours of use, the natty version of rt2x00 wireless driver writes to syslog:

 phy0 -> rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 2.

After this all wireless service stops, and the rt2x00 module has to be unloaded/reloaded to start again.
I have found a solution to this problem in the form of a patch here: http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-June/003932.html

After applying this patch, the problem is resolved. However, this patch fails on the current linux-source-2.6.38.tar.bz2 ubuntu source code. I have created a new patch which works perfectly, but I am forced to rebuild the module each time a new kernel is released. Is there any way we can have this patch added to the rt2x00 module that ships with Ubuntu permanently?
---
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: VT1828S Analog [VT1828S Analog]
   Subdevices: 2/2
   Subdevice #0: subdevice #0
   Subdevice #1: subdevice #1
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: wrostek 3958 F.... pulseaudio
 /dev/snd/pcmC0D1p: wrostek 3958 F...m pulseaudio
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xf8ff8000 irq 48'
   Mixer name : 'VIA VT1828S'
   Components : 'HDA:11064441,104383d0,00100100'
   Controls : 36
   Simple ctrls : 21
Card1.Amixer.info:
 Card hw:1 'NVidia'/'HDA NVidia at 0xfaffc000 irq 17'
   Mixer name : 'Nvidia GPU 0d HDMI/DP'
   Components : 'HDA:10de000d,10de0101,00100100'
   Controls : 16
   Simple ctrls : 4
DistroRelease: Ubuntu 11.04
HibernationDevice: RESUME=UUID=c2cba4ed-595d-4cec-970b-2f5c26cf3b75
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429)
MachineType: System manufacturer System Product Name
NonfreeKernelModules: nvidia
Package: linux (not installed)
ProcEnviron:
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-2.6.38-11-generic root=UUID=3472dad6-5116-46ce-bec2-774b0478eff0 ro
ProcVersionSignature: Ubuntu 2.6.38-11.50-generic 2.6.38.8
RelatedPackageVersions:
 linux-restricted-modules-2.6.38-11-generic N/A
 linux-backports-modules-2.6.38-11-generic N/A
 linux-firmware 1.52.1
RfKill:
 0: phy0: Wireless LAN
  Soft blocked: no
  Hard blocked: no
Tags: unity-2d natty
Uname: Linux 2.6.38-11-generic x86_64
UpgradeStatus: Upgraded to natty on 2011-07-09 (74 days ago)
UserGroups: mythtv
dmi.bios.date: 03/25/2010
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 0806
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: P7P55D-E
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: Rev 1.xx
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr0806:bd03/25/2010:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnP7P55D-E:rvrRev1.xx:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: System Product Name
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer

Revision history for this message
Ted Strong (tstrong) wrote :
Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 855239

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Ted Strong (tstrong) wrote : .etc.asound.conf.txt

apport information

tags: added: apport-collected natty unity-2d
description: updated
Revision history for this message
Ted Strong (tstrong) wrote : AcpiTables.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : AlsaDevices.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : AplayDevices.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : BootDmesg.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : CRDA.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : Card0.Amixer.values.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : Card0.Codecs.codec.0.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : Card1.Amixer.values.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : Card1.Codecs.codec.0.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : Card1.Codecs.codec.1.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : Card1.Codecs.codec.2.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : Card1.Codecs.codec.3.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : IwConfig.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : Lspci.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : Lsusb.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : PciMultimedia.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : ProcCpuinfo_.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : ProcModules.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : UdevDb.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : UdevLog.txt

apport information

Revision history for this message
Ted Strong (tstrong) wrote : WifiSyslog.txt

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Changed in linux (Ubuntu):
assignee: nobody → Leann Ogasawara (leannogasawara)
importance: Undecided → Medium
status: Confirmed → In Progress
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Ted,

Thanks for the reference to the patch. After further investigation I see that this patch has been applied to the upstream mainline kernel:

~/linux$ git describe --contains 77a861c405da75d81e9e6e32c50eb7f9777777e8
v3.1-rc1~24^2~10^2^2~240
~/linux$ git show 77a861c405da75d81e9e6e32c50eb7f9777777e8
commit 77a861c405da75d81e9e6e32c50eb7f9777777e8
Author: Gertjan van Wingerde <email address hidden>
Date: Wed Jul 6 22:56:24 2011 +0200

    rt2x00: Serialize TX operations on a queue.

I've built both an Oneiric and Natty test kernel with the above patch applied (see urls below). Could you please test both kernels and confirm the issue is resolved. I can then get this submitted for SRU against Oneiric and Natty. Thanks in advance.

http://people.canonical.com/~ogasawara/lp855239/natty/

http://people.canonical.com/~ogasawara/lp855239/oneiric/

Changed in linux (Ubuntu Natty):
assignee: nobody → Leann Ogasawara (leannogasawara)
importance: Undecided → Medium
status: New → In Progress
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "Patch to use Use spin_lock / spin_unlock in rt2x00 module" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-sponsors please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Ted,

Just wanted to let you know that Oneiric final freeze is fast approaching and I only have a small window of time to get this patch into Oneiric before it releases. If you could get me your test feedback before Monday Sept 26 that would be great. Otherwise we'll just target this for an update after Oneiric officially releases. Thanks.

Revision history for this message
Ted Strong (tstrong) wrote :

Hi Leann,

   I have installed your kernel last night, and am still testing it. Seems good so far, just wanted to give it to friday to make sure the problem does not come back

description: updated
Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Natty):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Oneiric):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.0.0-12.19

---------------
linux (3.0.0-12.19) oneiric; urgency=low

  [ Alex Bligh ]

  * SAUCE: (drop after v3.1) net/netfilter/nf_conntrack_netlink.c: fix Oops
    on container destroy
    - LP: #843892

  [ Andy Whitcroft ]

  * [Config] standardise on HZ=250
  * SAUCE: headers_install: fix #include "..." usage for userspace
    - LP: #824377
  * make module-inclusion selection retain the left overs
  * add a new linux-image-extras package for virtual

  [ edwin_rong ]

  * SAUCE: Staging: add driver for Realtek RTS5139 cardreader
    - LP: #824273

  [ Greg Kroah-Hartman ]

  * SAUCE: staging: rts5139: add vmalloc.h to some files to fix the build.
    - LP: #824273

  [ Jesse Sung ]

  * SAUCE: Unregister input device only if it is registered
    - LP: #839238

  [ Keng-Yu Lin ]

  * [Config] Enable CONFIG_RTS5139=m on i386/amd64
    - LP: #824273

  [ Leann Ogasawara ]

  * SAUCE: x86: reboot: Make Dell Optiplex 990 use reboot=pci
    - LP: #768039
  * SAUCE: x86: reboot: Make Dell Latitude E6220 use reboot=pci
    - LP: #838402

  [ Ming Lei ]

  * SAUCE: ata: make DVD drive recognisable on systems with Sandybridge CPT
    chipset
    - LP: #794642

  [ Paolo Pisati ]

  * [Config] Compile-in vfat support for armel
    - LP: #853783

  [ Randy Dunlap ]

  * SAUCE: staging: fix rts5139 depends & build
    - LP: #824273

  [ Tim Gardner ]

  * [Config] Fix binary-% build target
  * SAUCE: (drop after 3.0.0) OMAP3 and 4 hwmod I2C units only allow 16 bit
    access
    - LP: #852225

  [ Upstream Kernel Changes ]

  * hfsplus: Fix kfree of wrong pointers in hfsplus_fill_super() error path
    - LP: #854987
  * rt2x00: Serialize TX operations on a queue.
    - LP: #855239
 -- Leann Ogasawara <email address hidden> Wed, 14 Sep 2011 06:14:30 -0700

Changed in linux (Ubuntu Oneiric):
status: Fix Committed → Fix Released
Revision history for this message
Ted Strong (tstrong) wrote :

Thanks Leann and Tim, the patch is definitely working for me.

Revision history for this message
Herton R. Krzesinski (herton) wrote :

This bug is awaiting verification that the kernel for Natty in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-natty' to 'verification-done-natty'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-natty
Revision history for this message
Herton R. Krzesinski (herton) wrote :

@Ted Strong: can you confirm everything is ok with the 2.6.38-12.51 kernel from -proposed in natty?

Revision history for this message
Ted Strong (tstrong) wrote :

Hi Herton, it is installed:

root@mr-slate:~# uname -a
Linux mr-slate 2.6.38-12-generic #51-Ubuntu SMP Wed Sep 28 14:27:32 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

So far no problems! Looks Great...

tags: added: verification-done-natty
removed: verification-needed-natty
Revision history for this message
Herton R. Krzesinski (herton) wrote :

The commit for this issue came in via a stable upstream release in Oneiric. As such it is not subject to the standard bug verification process.

tags: added: verification-done-oneiric
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.38-12.51

---------------
linux (2.6.38-12.51) natty-proposed; urgency=low

  [Herton R. Krzesinski]

  * Release Tracking Bug
    - LP: #860832

  [ Alex Bligh ]

  * SAUCE: net/netfilter/nf_conntrack_netlink.c: fix Oops on container
    destroy
    - LP: #843892

  [ Jesse Sung ]

  * SAUCE: Unregister input device only if it is registered
    - LP: #839238

  [ Leann Ogasawara ]

  * SAUCE: x86: reboot: Make Dell Latitude E6220 use reboot=pci
    - LP: #838402
  * SAUCE: x86: reboot: Make Dell Latitude E6520 use reboot=pci
    - LP: #833705

  [ Ming Lei ]

  * SAUCE: fireware: add NO_MSI quirks for o2micro controller
    - LP: #801719

  [ Stefan Bader ]

  * [Config] Include all filesystem modules for virtual
    - LP: #761809

  [ Tim Gardner ]

  * [Config] kernel preparation cannot be parallelized
  * [Config] Linearize module/abi checks
  * [Config] Linearize and simplify tree preparation rules
  * [Config] Build kernel image in parallel with modules
  * [Config] Set concurrency for kmake invocations
  * [Config] Improve install-arch-headers speed
  * [Config] Fix binary-perarch dependencies
  * [Config] Removed stamp-flavours target
  * [Config] Serialize binary indep targets
  * [Config] Use build stamp directly
  * [Config] Restore prepare-% target
  * [Config] Fix binary-% build target

  [ Upstream Kernel Changes ]

  * Revert "drm/i915: disable PCH ports if needed when disabling a CRTC"
    - LP: #814325, #838181
  * drm/i915: restore only the mode of this driver on lastclose (v2)
    - LP: #848687
  * cifs: fix possible memory corruption in CIFSFindNext, CVE-2011-3191
    - LP: #834135
    - CVE-2011-3191
  * befs: Validate length of long symbolic links, CVE-2011-2928
    - LP: #834124
    - CVE-2011-2928
  * gro: Only reset frag0 when skb can be pulled, CVE-2011-2723
    - LP: #844371
    - CVE-2011-2723
  * inet_diag: fix inet_diag_bc_audit(), CVE-2011-2213
    - LP: #838421
    - CVE-2011-2213
  * si4713-i2c: avoid potential buffer overflow on si4713, CVE-2011-2700
    - LP: #844370
    - CVE-2011-2700
  * Bluetooth: Prevent buffer overflow in l2cap config request,
    CVE-2011-2497
    - LP: #838423
    - CVE-2011-2497
  * crypto: Move md5_transform to lib/md5.c, CVE-2011-3188
    - LP: #834129
    - CVE-2011-3188
  * net: Compute protocol sequence numbers and fragment IDs using MD5,
    CVE-2011-3188
    - LP: #834129
    - CVE-2011-3188
  * x86, intel, power: Initialize MSR_IA32_ENERGY_PERF_BIAS
    - LP: #760131
  * x86, intel, power: Correct the MSR_IA32_ENERGY_PERF_BIAS message
    - LP: #760131
  * rt2x00: Serialize TX operations on a queue.
    - LP: #855239
  * ext4: Fix max file size and logical block counting of extent format
    file, CVE-2011-2695
    - LP: #819574
    - CVE-2011-2695
 -- Herton Ronaldo Krzesinski <email address hidden> Tue, 27 Sep 2011 16:19:57 -0300

Changed in linux (Ubuntu Natty):
status: Fix Committed → Fix Released
To post a comment you must log in.