From: John Donnelly <john.p.donnelly@oracle.com>
To: linux-usb@vger.kernel.org
Subject: ehci-pci : WARNING: CPU: 0 PID: 347 at kernel/dma/direct.c:34
Date: Fri, 27 Mar 2020 23:11:33 -0500 [thread overview]
Message-ID: <F5A0CCCB-4503-40B1-A24D-323F5B89C1F4@oracle.com> (raw)
Hi,
I am seeing this WARNING event with iommu=off when booting a DL380 server with a 5.4.17 kernel.
[ 7.292703] ehci-pci 0000:00:1a.0: swiotlb buffer is full (sz: 8 bytes), total 0 (slots), used 0 (slots)
[ 7.309834] ehci-pci 0000:00:1a.0: overflow 0x0000000a1c8f9a60+8 of DMA mask ffffffff bus limit 0
[ 7.325937] ------------[ cut here ]------------
[ 7.326927] WARNING: CPU: 0 PID: 347 at kernel/dma/direct.c:34 report_addr+0x7b/0x7f
[ 7.326927] Modules linked in:
[ 7.326927] CPU: 0 PID: 347 Comm: kworker/0:6 Not tainted 5.4.17-2013.el7uek.x86_64 #2
[ 7.326927] Hardware name: HP ProLiant DL360 Gen9/ProLiant DL360 Gen9, BIOS P89 10/21/2019
[ 7.326927] Workqueue: usb_hub_wq hub_event
[ 7.326927] RIP: 0010:report_addr+0x7b/0x7f
[ 7.326927] Code: 59 be 4e 01 00 75 23 4c 8b 8f 78 02 00 00 48 89 d1 48 8d 55 f8 48 c7 c6 08 ff c3 b5 31 c0 c6 05 39 be 4e 01 01 e8 84 47 4d 00 <0f> 0b c9 c3 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 55
[ 7.326927] RSP: 0000:ffffbcc186b179a8 EFLAGS: 00010246
[ 7.326927] RAX: 0000000000000000 RBX: ffff936f1f9ef0b0 RCX: 0000000000000000
[ 7.326927] RDX: 0000000000000001 RSI: 0000000000000086 RDI: 0000000000000246
[ 7.326927] RBP: ffffbcc186b179b0 R08: 00000000000004b3 R09: 00000000000004b3
[ 7.326927] R10: 0000000000000001 R11: 0000000000aaaaaa R12: 0000000000000008
[ 7.326927] R13: 0000000000000c00 R14: ffff936f84430800 R15: ffff936f84434800
[ 7.326927] FS: 0000000000000000(0000) GS:ffff936f57800000(0000) knlGS:0000000000000000
[ 7.326927] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 7.326927] CR2: ffff937098201000 CR3: 0000000b96e0a001 CR4: 00000000003606f0
[ 7.326927] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 7.326927] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 7.326927] Call Trace:
[ 7.326927] dma_direct_map_page+0xd7/0xe2
[ 7.326927] usb_hcd_map_urb_for_dma+0x506/0x64d
[ 7.326927] usb_hcd_submit_urb+0x364/0xbcc
[ 7.326927] ? dev_vprintk_emit+0x21c/0x242
[ 7.326927] usb_submit_urb.part.8+0x24c/0x564
[ 7.326927] usb_submit_urb+0x34/0x5e
[ 7.326927] usb_start_wait_urb+0x6e/0x16d
[ 7.326927] ? _cond_resched+0x19/0x2c
[ 7.326927] usb_control_msg+0xde/0x13f
[ 7.326927] hub_port_init+0x6fd/0xc61
[ 7.326927] hub_port_connect+0x16c/0xa04
[ 7.326927] port_event+0x208/0x7d4
[ 7.326927] ? __switch_to_asm+0x34/0x62
[ 7.326927] hub_event+0x234/0x3c3
[ 7.326927] ? __switch_to_asm+0x40/0x62
[ 7.326927] process_one_work+0x179/0x389
[ 7.326927] worker_thread+0x4f/0x3df
[ 7.326927] kthread+0x105/0x138
[ 7.326927] ? max_active_store+0x80/0x7c
[ 7.326927] ? kthread_bind+0x20/0x15
[ 7.326927] ret_from_fork+0x3e/0x49
[ 7.326927] ---[ end trace 38bdc7707d62cfd7 ]—
The end result is this USB port is not configured when dma_direct_map_page() is called and it returns return DMA_MAPPING_ERROR;
When I boot the server with iommu=on I don’t see this sequence :
[ 7.245241] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 7.247303] ehci-pci: EHCI PCI platform driver
[ 7.249348] ehci-pci 0000:00:1a.0: EHCI Host Controller
[ 7.251175] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 1
[ 7.253527] ehci-pci 0000:00:1a.0: debug port 2
[ 7.258974] ehci-pci 0000:00:1a.0: cache line size of 64 is not supported
[ 7.261222] ehci-pci 0000:00:1a.0: irq 18, io mem 0x9a501000
[ 7.269345] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00
[ 7.271297] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.06
[ 7.273913] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 7.276300] usb usb1: Product: EHCI Host Controller
[ 7.277854] usb usb1: Manufacturer: Linux 5.6.0-rc7.master.20200327.ol7.x86_64 ehci_hcd
[ 7.280372] usb usb1: SerialNumber: 0000:00:1a.0
[ 7.282019] hub 1-0:1.0: USB hub found
[ 7.283339] hub 1-0:1.0: 2 ports detected
[ 7.285464] ehci-pci 0000:00:1d.0: EHCI Host Controller
[ 7.287229] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 2
[ 7.289595] ehci-pci 0000:00:1d.0: debug port 2
[ 7.294922] ehci-pci 0000:00:1d.0: cache line size of 64 is not supported
[ 7.297113] ehci-pci 0000:00:1d.0: irq 18, io mem 0x9a500000
[ 7.305345] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00
[ 7.307273] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.06
[ 7.309893] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 7.312172] usb usb2: Product: EHCI Host Controller
[ 7.313721] usb usb2: Manufacturer: Linux 5.6.0-rc7.master.20200327.ol7.x86_64 ehci_hcd
[ 7.316289] usb usb2: SerialNumber: 0000:00:1d.0
[ 7.317913] hub 2-0:1.0: USB hub found
[ 7.319219] hub 2-0:1.0: 2 ports detected
This is related to my previous question how the BCM devices export USB virtual keyboards and mouse .
On an older kernel 5.3. flavor I am not seeing this behavior, and the usbhib devices appear as expected :
lsusb -t
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/15p, 480M
|__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/2p, 480M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M
Has anyone seen this before ?
next reply other threads:[~2020-03-28 4:11 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-28 4:11 John Donnelly [this message]
2020-03-28 7:08 ` ehci-pci : WARNING: CPU: 0 PID: 347 at kernel/dma/direct.c:34 Greg KH
2020-03-28 15:34 ` Alan Stern
2020-03-28 15:37 ` Alan Stern
2020-03-28 18:05 ` John Donnelly
2020-03-30 18:36 ` John Donnelly
2020-03-30 19:41 ` Alan Stern
2020-03-30 20:11 ` John Donnelly
2020-03-31 2:10 ` John Donnelly
2020-03-31 14:17 ` Alan Stern
2020-03-31 16:07 ` John Donnelly
2020-03-31 17:43 ` John Donnelly
2020-03-31 18:21 ` Alan Stern
2020-04-07 13:49 ` John Donnelly
2020-04-07 13:53 ` Alan Stern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=F5A0CCCB-4503-40B1-A24D-323F5B89C1F4@oracle.com \
--to=john.p.donnelly@oracle.com \
--cc=linux-usb@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).