Messages in this thread Patch in this message |  | | | Date | Tue, 28 Oct 2008 11:07:40 +0200 | | From | "Jouni Malinen" <> | | Subject | Re: USB problem on x86_64: nommu_map_single() issue? |
| |
On Tue, Oct 14, 2008 at 1:00 PM, Oliver Neukum <oliver@neukum.org> wrote: > Am Dienstag, 14. Oktober 2008 12:45:00 schrieb Nicolas Bareil: >> On Tue, Oct 14, 2008 at 11:48:47AM +0200, Oliver Neukum wrote: >> > > On 2.6.27, I can't use any USB device (mass storage, mouse) anymore on my x86_64 system, the devices >> > > are not detected: lsusb returns nothing except the hub. >> > >> > Is this a regression? Did it work on earlier kernels? >> >> Yes this is a regression: USB works in 2.6.26.x with (almost) the same configuration. > > This a an IOMMU problem, not really a USB problem. Can you bisect the problem?
It looks like I'm seeing something similar with the current linux-2.6.git. However, in my case, 2.6.27 seemed to work and I started seeing this only after the 2.6.27 release (though, git bisect ended up in 2.6.27-rc3). In addition, I'm seeing way more issues than just USB dying (both wired and wireless networking were hosed; r8169 was returning random memory or all zeroes in the payload of the frames, etc.).
After a painful git bisect (two other bugs that prevented boot and some build issues in the tested commits) the first bad commit turned out to be cf169702ba6928cee9d4f4adf3e932b643b8db7a (see below; author cc'ed). This is only adding a new PCI device id, so the commit itself seems to just trigger the issue somewhere else.
I've verified that I can get rid of the nommu_map_single() messages by reverting this patch (i.e., made kernel not find the northbridge) with the current linux-2.6.git head. Obviously, that does not sound like a proper fix here. Would anyone have any idea on what is the real issue here or what could be done to find it?
I'm seeing this issue on a HP Pavilion dv5 laptop that has AMD Turion X2 Ultra Dual-Core Mobile ZM-80. lspci shows the PCI id that was added (1022:1303). mem=2G works around the problem. pci_swiotlb_init() did not set swiotlb to 1, but hardcoding it to 1 there did not help either.
$ git bisect bad cf169702ba6928cee9d4f4adf3e932b643b8db7a is first bad commit commit cf169702ba6928cee9d4f4adf3e932b643b8db7a Author: Joerg Roedel <joerg.roedel@amd.com> Date: Tue Sep 2 13:13:40 2008 +0200
x86, gart: add detection of AMD family 0x11 northbridges
This patch adds the detection of the northbridges in the AMD family 0x11 processors. It also fixes the magic numbers there while changing this code.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
:040000 040000 183c03461f96be8bbf96cb51bae9bb0fb93dae89 58638c91f03393225f3c48cb12476466f9c5e2be M arch
----------------------------- arch/x86/kernel/k8.c ----------------------------- index 7377ccb..304d8ba 100644 @@ -16,8 +16,9 @@ EXPORT_SYMBOL(num_k8_northbridges); static u32 *flush_words;
struct pci_device_id k8_nb_ids[] = { - { PCI_DEVICE(PCI_VENDOR_ID_AMD, 0x1103) }, - { PCI_DEVICE(PCI_VENDOR_ID_AMD, 0x1203) }, + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB_MISC) }, + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_10H_NB_MISC) }, + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_11H_NB_MISC) }, {} }; EXPORT_SYMBOL(k8_nb_ids);
- Jouni
|  |