Wrong memory allocation (or deallocation) in WWAN driver cdc-wdm.c
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Oneiric |
Fix Released
|
Undecided
|
Ming Lei | ||
Precise |
Fix Released
|
Undecided
|
Ming Lei | ||
Quantal |
Fix Released
|
Undecided
|
Unassigned | ||
Raring |
Fix Released
|
Medium
|
Unassigned |
Bug Description
SRU Justification
Impact: dma badness with cdc-wdm, regression introduced by commit
cafbe85 upstream.
Fix: Adjust usb_free_coherent calls.
Test case: it is reported the problem happens on suspend/resume with
cdc-wdm, bad dma messages reported on dmesg
-------
When going into suspend-to-RAM or suspend-to-disk, I regularly get error messages like this one in the system log and on the console:
[167511.661550] ehci_hcd 0000:00:1d.0: dma_pool_free buffer-128, ffff88003644200
There is no crash, just this error message.
I did some debugging of this thing myself by diving into the kernel sources, and ended up with drivers/
desc->inbuf = usb_alloc_
and here is the corresponding deallocation (is in the code twize):
Note, that desc->wMaxCommand is used as the size for allocation, and desc->bMaxPacke
The device in question is reported by "lsusb" as:
Bus 002 Device 024: ID 0bdb:1911 Ericsson Business Mobile Networks BV
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: linux-image-
ProcVersionSign
Uname: Linux 3.2.0-32-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 2.0.1-0ubuntu14
Architecture: amd64
ArecordDevices:
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CONEXANT Analog [CONEXANT Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
Card0.Amixer.info:
Card hw:0 'PCH'/'HDA Intel PCH at 0xd1600000 irq 43'
Mixer name : 'Intel CougarPoint HDMI'
Components : 'HDA:14f1506e,
Controls : 14
Simple ctrls : 6
Card29.Amixer.info:
Card hw:29 'ThinkPadEC'
Mixer name : 'ThinkPad EC (unknown)'
Components : ''
Controls : 1
Simple ctrls : 1
Card29.
Simple mixer control 'Console',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [on]
Date: Thu Nov 1 22:20:00 2012
HibernationDevice: RESUME=
InstallationMedia: Kubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120423)
MachineType: LENOVO 3045A64
ProcEnviron:
LANGUAGE=
TERM=xterm
PATH=(custom, user)
LANG=de_DE.UTF-8
SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=
RelatedPackageV
linux-
linux-
linux-firmware 1.79.1
SourcePackage: linux
StagingDrivers: rts_pstor mei
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 01/11/2012
dmi.bios.vendor: LENOVO
dmi.bios.version: 8QET54WW (1.15 )
dmi.board.
dmi.board.name: 3045A64
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.name: 3045A64
dmi.product.
dmi.sys.vendor: LENOVO
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
tags: | added: precise |
tags: | added: patch |
description: | updated |
Changed in linux (Ubuntu Oneiric): | |
assignee: | nobody → Herton R. Krzesinski (herton) |
status: | New → Fix Committed |
assignee: | Herton R. Krzesinski (herton) → Ming Lei (tom-leiming) |
Changed in linux (Ubuntu Precise): | |
assignee: | nobody → Ming Lei (tom-leiming) |
status: | New → Fix Committed |
Changed in linux (Ubuntu Quantal): | |
status: | New → Fix Released |
Changed in linux (Ubuntu Raring): | |
status: | Confirmed → Fix Released |
tags: | added: blocks-hwcert-enablement |
Would it be possible for you to test the latest upstream kernel? Refer to https:/ /wiki.ubuntu. com/KernelMainl ineBuilds . Please test the latest v3.7 kernel[0] (Not a kernel in the daily directory) and install both the linux-image and linux-image-extra .deb packages.
Once you've tested the upstream kernel, please remove the 'needs- upstream- testing' tag. Please only remove that one tag and leave the other tags. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs- upstream- testing' text.
If this bug is fixed in the mainline kernel, please add the following tag 'kernel- fixed-upstream' .
If the mainline kernel does not fix this bug, please add the tag: 'kernel- bug-exists- upstream' .
If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel- unable- to-test- upstream' .
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".
Thanks in advance.
[0] http:// kernel. ubuntu. com/~kernel- ppa/mainline/ v3.7-rc4- raring/