linux-mips
[Top] [All Lists]

Regression since 3.8: a DMA cache change break rtl8187 USB wireless on L

To: linux-mips@linux-mips.org
Subject: Regression since 3.8: a DMA cache change break rtl8187 USB wireless on Loongson
From: Tom Li <biergaizi2009@gmail.com>
Date: Sun, 2 Feb 2014 00:15:58 +0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=y6RhKiBLuzQfB2NeIJkCKbLRoMPBjqY6KnrTxWoTtkg=; b=ihC9F4wHipT2tMlwX4adglwGa7EeXDm/VlDpTli+4OXARIcZLvLcklit4zzC7NbCap eJHX3Zep7gKSWUJ390AT/DQzLX6BaaqSiyA01ycDK3je9ENSj8fSuRFCXmWF/76ZTmv2 eVnCZW+YlZrpa0ab63Cou8y9jvVSRkyLvmI9moxdH2slG/I47L1hkyVTQcqVahB2OWJn oDHZbenBl9Q+MfYkuY+31vjerCwPWl4OYD7qS9dIPXNniG6ccnNPkQ7f7QKYXu37bkoJ q8MZ0g6wMjJwr6oS21wJRthx2ckVyjoKHu3SdUIWErP+VBGL3RAKo52Sdf/4NlT41tNH J8MA==
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
According to Bug #54391[0], the rtl8187 USB wireless card on
YeeLoong 8089D laptop / Loongson platform is broken since Linux 3.8.0.

The driver cause a kernel panic when receiving frames.
Many users' on Loongson-dev mailing confirmed the issue is 100% reproduced.

After a git bisect, I confirmed
a16dad7763420a3b46cff1e703a9070827796cfc (MIPS: Fix potencial corruption)
Caused the issue. After reverted the commit, the wireless is working again
even in the latest 3.12 kernel.

But rtl8187 driver doesn't use DMA directly.

After discuss with Stanislaw Gruszka, it maybe caused by:

- USB host controller driver misusing the DMA API
- A Loongson hardware-related issue, some alignment instructions
should be added back

YeeLoong 8089D uses a AMD CS5536 controller

> 00:0e.4 USB controller: Advanced Micro Devices, Inc. [AMD] CS5536 [Geode 
> companion] OHC (rev 02)
> 00:0e.5 USB controller: Advanced Micro Devices, Inc. [AMD] CS5536 [Geode 
> companion] EHC (rev 02)

And they use PCI abstraction provide by ohci-pci and ehci-pci.


More information is avaliable here:

[0]: https://bugzilla.kernel.org/show_bug.cgi?id=54391

Thanks,

Tom Li.

<Prev in Thread] Current Thread [Next in Thread>
  • Regression since 3.8: a DMA cache change break rtl8187 USB wireless on Loongson, Tom Li <=