Bug 1417829

Summary: [abrt] WARNING: CPU: 1 PID: 3760 at drivers/usb/core/hcd.c:1584 usb_hcd_map_urb_for_dma+0x37f/0x570
Product: [Fedora] Fedora Reporter: Stephan <spamgehthierrein>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: cz172638, dnehring, gansalmon, ichavero, itamar, jonathan, kernel-maint, labbott, luic78, madhu.chinakonda, mchehab, redhat-bugzilla
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/7f7681ead71d3aa77f6d2d305680aca59e82956c
Whiteboard: abrt_hash:d4f3a011c621d18c96d505af492c011ff1de0739;VARIANT_ID=workstation;
Fixed In Version: kernel-4.9.9-200.fc25 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-13 22:23:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
File: dmesg none

Description Stephan 2017-01-31 08:19:41 UTC
Description of problem:
This happens always after inserting a Geniatech T230 DVB-T2 USB device (https://www.linuxtv.org/wiki/index.php/Geniatech_T230) since kernel 4.9.

Additional info:
reporter:       libreport-2.8.0
WARNING: CPU: 1 PID: 3760 at drivers/usb/core/hcd.c:1584 usb_hcd_map_urb_for_dma+0x37f/0x570
transfer buffer not dma capable
Modules linked in: dvb_usb_cxusb(+) dib0070 dvb_usb dvb_core rc_core fuse xt_CHECKSUM ipt_MASQUERADE nf_nat_masquerade_ipv4 tun ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 xt_conntrack ip_set nfnetlink ebtable_broute bridge stp llc ebtable_nat ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw ebtable_filter ebtables ip6table_filter ip6_tables bnep toshiba_acpi industrialio sparse_keymap toshiba_haps hp_accel lis3lv02d input_polldev uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev qcserial usb_wwan media btusb btrtl btbcm btintel bluetooth mei_wdt intel_powerclamp ppdev mxm_wmi iTCO_wdt
 coretemp iTCO_vendor_support snd_hda_codec_hdmi snd_hda_codec_conexant snd_hda_codec_generic snd_hda_intel kvm snd_hda_codec snd_hda_core snd_hwdep snd_seq arc4 iwldvm mac80211 snd_seq_device irqbypass thinkpad_acpi snd_pcm snd_timer snd iwlwifi intel_cstate intel_uncore soundcore cfg80211 rfkill intel_ips joydev i2c_i801 parport_pc i2c_smbus parport wmi shpchp mei_me lpc_ich mei acpi_cpufreq tpm_tis tpm_tis_core tpm binfmt_misc dm_crypt i915 crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel serio_raw i2c_algo_bit sdhci_pci hid_microsoft drm_kms_helper qmi_wwan sdhci e1000e cdc_wdm drm mmc_core usbnet mii ptp pps_core fjes video i2c_dev
CPU: 1 PID: 3760 Comm: systemd-udevd Not tainted 4.9.6-200.fc25.x86_64 #1
Hardware name: LENOVO 4349W1Q/4349W1Q, BIOS 6MET92WW (1.52 ) 09/26/2012
 ffff9bbf0349f6a8 ffffffff953f414d ffff9bbf0349f6f8 0000000000000000
 ffff9bbf0349f6e8 ffffffff950a202b 000006300349f6b0 ffff8f50382fa240
 0000000000000000 ffff8f50cbe76000 0000000000000002 ffff8f50eee9f000
Call Trace:
 [<ffffffff953f414d>] dump_stack+0x63/0x86
 [<ffffffff950a202b>] __warn+0xcb/0xf0
 [<ffffffff950a20af>] warn_slowpath_fmt+0x5f/0x80
 [<ffffffff955ecc9f>] usb_hcd_map_urb_for_dma+0x37f/0x570
 [<ffffffff955ed48a>] usb_hcd_submit_urb+0x35a/0xb50
 [<ffffffff95112238>] ? del_timer_sync+0x48/0x50
 [<ffffffff9581b323>] ? schedule_timeout+0x1e3/0x3f0
 [<ffffffff95112240>] ? del_timer_sync+0x50/0x50
 [<ffffffff955eee34>] usb_submit_urb+0x2f4/0x560
 [<ffffffff955ef74e>] usb_start_wait_urb+0x6e/0x170
 [<ffffffff955efc9d>] usb_bulk_msg+0xbd/0x160
 [<ffffffffc0a95cdf>] dvb_usb_generic_rw+0x15f/0x1e0 [dvb_usb]
 [<ffffffffc0a9c3ae>] cxusb_ctrl_msg+0x9e/0xe0 [dvb_usb_cxusb]
 [<ffffffffc0a9dfd7>] cxusb_d680_dmb_power_ctrl+0x57/0x90 [dvb_usb_cxusb]
 [<ffffffff952309ff>] ? __kmalloc+0x1af/0x1f0
 [<ffffffffc0a9552f>] dvb_usb_device_power_ctrl+0x3f/0x50 [dvb_usb]
 [<ffffffffc0a95773>] dvb_usb_device_init+0x233/0x640 [dvb_usb]
 [<ffffffffc0a9c2f2>] cxusb_probe+0x1f2/0x210 [dvb_usb_cxusb]
 [<ffffffff955f40f9>] usb_probe_interface+0x159/0x2d0
 [<ffffffff9554bb73>] driver_probe_device+0x223/0x430
 [<ffffffff9554be5f>] __driver_attach+0xdf/0xf0
 [<ffffffff9554bd80>] ? driver_probe_device+0x430/0x430
 [<ffffffff9554955c>] bus_for_each_dev+0x6c/0xc0
 [<ffffffff9554b2be>] driver_attach+0x1e/0x20
 [<ffffffff9554acf0>] bus_add_driver+0x170/0x270
 [<ffffffff9554c780>] driver_register+0x60/0xe0
 [<ffffffff955f29c1>] usb_register_driver+0x81/0x140
 [<ffffffffc0ab0000>] ? 0xffffffffc0ab0000
 [<ffffffffc0ab001e>] cxusb_driver_init+0x1e/0x1000 [dvb_usb_cxusb]
 [<ffffffff95002190>] do_one_initcall+0x50/0x180
 [<ffffffff9522f5a9>] ? kmem_cache_alloc_trace+0x159/0x1b0
 [<ffffffff951c026a>] ? do_init_module+0x27/0x1ef
 [<ffffffff951c02a2>] do_init_module+0x5f/0x1ef
 [<ffffffff9512fe91>] load_module+0x25b1/0x2980
 [<ffffffff9512c770>] ? __symbol_put+0x60/0x60
 [<ffffffff951303d3>] SYSC_init_module+0x173/0x190
 [<ffffffff9513050e>] SyS_init_module+0xe/0x10
 [<ffffffff9581cc77>] entry_SYSCALL_64_fastpath+0x1a/0xa9

Comment 1 Stephan 2017-01-31 08:19:53 UTC
Created attachment 1246113 [details]
File: dmesg

Comment 2 Michael Chapman 2017-02-05 05:15:22 UTC
I've got a different device, but it uses the same dvb_usb_cxusb driver. I can confirm this regression on v4.9 kernels:

[    9.773296] dvb-usb: found a 'DViCO FusionHDTV DVB-T USB (TH7579)' in cold state, will try to load a firmware
[    9.844479] dvb-usb: downloading firmware from file 'dvb-usb-bluebird-01.fw'
[    9.844489] ------------[ cut here ]------------
[    9.844494] WARNING: CPU: 1 PID: 771 at drivers/usb/core/hcd.c:1584 usb_hcd_map_urb_for_dma+0x37f/0x570
[    9.844494] transfer buffer not dma capable
[    9.844494] Modules linked in: dvb_usb_cxusb(+) joydev cx88_dvb(+) cx88_vp3054_i2c videobuf2_dvb uinput ff_memless mxm_wmi intel_cstate intel_uncore dib0070 drm_kms_helper dvb_usb dvb_core cx8800 cx8802 cx8
8xx snd_hda_codec_hdmi videobuf2_dma_sg intel_rapl_perf drm tveeprom videobuf2_memops videobuf2_v4l2 videobuf2_core rc_core v4l2_common snd_hda_codec_realtek snd_hda_codec_generic i2c_i801 i2c_smbus videodev m
edia i2c_algo_bit snd_hda_intel snd_hda_codec mei_me lpc_ich snd_hda_core snd_hwdep snd_seq shpchp snd_seq_device mei snd_pcm snd_timer snd soundcore tpm_infineon tpm_tis tpm_tis_core tpm wmi nfsd auth_rpcgss 
nfs_acl lockd grace sunrpc binfmt_misc raid1 crc32c_intel uas serio_raw usb_storage r8169 mii fjes
[    9.844519] CPU: 1 PID: 771 Comm: systemd-udevd Not tainted 4.9.7-201.fc25.x86_64 #1
[    9.844520] Hardware name: Gigabyte Technology Co., Ltd. Z68XP-UD3/Z68XP-UD3, BIOS F10 03/20/2012
[    9.844521]  ffffaa62c0d17538 ffffffff893f442d ffffaa62c0d17588 0000000000000000
[    9.844523]  ffffaa62c0d17578 ffffffff890a202b 0000063000000000 ffff94afcf35f240
[    9.844524]  0000000000000000 ffff94afd63d8000 0000000000000001 ffff94afd98a2800
[    9.844525] Call Trace:
[    9.844529]  [<ffffffff893f442d>] dump_stack+0x63/0x86
[    9.844531]  [<ffffffff890a202b>] __warn+0xcb/0xf0
[    9.844532]  [<ffffffff890a20af>] warn_slowpath_fmt+0x5f/0x80
[    9.844533]  [<ffffffff895ecf7f>] usb_hcd_map_urb_for_dma+0x37f/0x570
[    9.844534]  [<ffffffff895ed76a>] usb_hcd_submit_urb+0x35a/0xb50
[    9.844537]  [<ffffffff89165736>] ? delayacct_end+0x56/0x60
[    9.844539]  [<ffffffff898197a0>] ? bit_wait+0x60/0x60
[    9.844540]  [<ffffffff89165850>] ? __delayacct_blkio_end+0x30/0x50
[    9.844541]  [<ffffffff8981880d>] ? io_schedule_timeout+0xdd/0x110
[    9.844543]  [<ffffffff89409e76>] ? copy_to_iter+0x2c6/0x490
[    9.844544]  [<ffffffff895ef114>] usb_submit_urb+0x2f4/0x560
[    9.844545]  [<ffffffff895efa2e>] usb_start_wait_urb+0x6e/0x170
[    9.844547]  [<ffffffff895efc0c>] usb_control_msg+0xdc/0x120
[    9.844549]  [<ffffffffc06d4042>] usb_cypress_writemem+0x42/0x50 [dvb_usb]
[    9.844551]  [<ffffffffc06d41f3>] usb_cypress_load_firmware+0x63/0x160 [dvb_usb]
[    9.844552]  [<ffffffff8920e1a9>] ? vmap_page_range_noflush+0x249/0x340
[    9.844553]  [<ffffffff8920e2d6>] ? map_vm_area+0x36/0x50
[    9.844554]  [<ffffffff8920f859>] ? __vmalloc_node_range+0x189/0x2b0
[    9.844556]  [<ffffffffc074cdd0>] ? bluebird_patch_dvico_firmware_download+0x70/0x130 [dvb_usb_cxusb]
[    9.844558]  [<ffffffffc074ce27>] bluebird_patch_dvico_firmware_download+0xc7/0x130 [dvb_usb_cxusb]
[    9.844559]  [<ffffffffc06d439e>] dvb_usb_download_firmware+0xae/0xf0 [dvb_usb]
[    9.844560]  [<ffffffffc06d4928>] dvb_usb_device_init+0x3e8/0x640 [dvb_usb]
[    9.844562]  [<ffffffffc074b1ba>] cxusb_probe+0xba/0x210 [dvb_usb_cxusb]
[    9.844563]  [<ffffffff895f43d9>] usb_probe_interface+0x159/0x2d0
[    9.844565]  [<ffffffff8954be23>] driver_probe_device+0x223/0x430
[    9.844566]  [<ffffffff8954c10f>] __driver_attach+0xdf/0xf0
[    9.844567]  [<ffffffff8954c030>] ? driver_probe_device+0x430/0x430
[    9.844569]  [<ffffffff8954980c>] bus_for_each_dev+0x6c/0xc0
[    9.844569]  [<ffffffff8954b56e>] driver_attach+0x1e/0x20
[    9.844571]  [<ffffffff8954afa0>] bus_add_driver+0x170/0x270
[    9.844572]  [<ffffffff8954ca30>] driver_register+0x60/0xe0
[    9.844573]  [<ffffffff895f2ca1>] usb_register_driver+0x81/0x140
[    9.844573]  [<ffffffffc075f000>] ? 0xffffffffc075f000
[    9.844575]  [<ffffffffc075f01e>] cxusb_driver_init+0x1e/0x1000 [dvb_usb_cxusb]
[    9.844577]  [<ffffffff89002190>] do_one_initcall+0x50/0x180
[    9.844579]  [<ffffffff8922f7e9>] ? kmem_cache_alloc_trace+0x159/0x1b0
[    9.844581]  [<ffffffff891c041a>] ? do_init_module+0x27/0x1ef
[    9.844584]  [<ffffffff8912fec1>] load_module+0x25b1/0x2980
[    9.844585]  [<ffffffff8912c7a0>] ? __symbol_put+0x60/0x60
[    9.844587]  [<ffffffff89130403>] SYSC_init_module+0x173/0x190
[    9.844588]  [<ffffffff8913053e>] SyS_init_module+0xe/0x10
[    9.844589]  [<ffffffff89003c17>] do_syscall_64+0x67/0x180
[    9.844591]  [<ffffffff8981dd2b>] entry_SYSCALL64_slow_path+0x25/0x25
[    9.844591] ---[ end trace c2c914bb82078cf4 ]---
[    9.844593] dvb-usb: could not stop the USB controller CPU.
[    9.844660] dvb-usb: error while transferring firmware (transferred size: -11, block size: 10)
[    9.844728] dvb-usb: firmware download failed at 15 with -22
[    9.844799] dvb_usb_cxusb: probe of 1-1.3:1.0 failed with error -22

Comment 3 Laura Abbott 2017-02-06 17:42:13 UTC
Looks like we're still finding DMA on stack https://patchwork.linuxtv.org/patch/39207/  https://patchwork.linuxtv.org/patch/39206/

Can you test with those?

Comment 4 Michael Chapman 2017-02-07 12:51:27 UTC
(In reply to Laura Abbott from comment #3)
> Looks like we're still finding DMA on stack
> https://patchwork.linuxtv.org/patch/39207/ 
> https://patchwork.linuxtv.org/patch/39206/
> 
> Can you test with those?

Those patches fix the problem here.

Comment 5 Laura Abbott 2017-02-08 00:23:00 UTC
Dropped the patches in the repo. Should be in 4.9.9 when that comes out at the end of htis week.

Comment 6 Stephan 2017-02-08 08:41:50 UTC
Thanks, here the patches work too.

Comment 7 Fedora Update System 2017-02-09 23:46:33 UTC
kernel-4.9.9-200.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-fb89ca752a

Comment 8 Fedora Update System 2017-02-10 16:23:38 UTC
kernel-4.9.9-200.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-fb89ca752a

Comment 9 Fedora Update System 2017-02-10 16:43:56 UTC
kernel-4.9.9-100.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2017-92d84f68cf

Comment 10 Fedora Update System 2017-02-11 16:48:13 UTC
kernel-4.9.9-100.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-92d84f68cf

Comment 11 Fedora Update System 2017-02-13 22:23:40 UTC
kernel-4.9.9-200.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2017-02-13 22:48:23 UTC
kernel-4.9.9-100.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.

Comment 13 Fedora Update System 2017-02-14 15:49:36 UTC
kernel-4.9.9-200.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 14 Dirk Nehring 2017-02-20 22:21:21 UTC
4.9.9-200.fc25 stilled failed for me:

[   14.845463] dw2102: su3000_identify_state
[   14.845470] dvb-usb: found a 'TechnoTrend TT-connect S2-4600' in warm state.
[   14.845483] dw2102: su3000_power_ctrl: 1, initialized 0
[   14.845489] ------------[ cut here ]------------
[   14.845498] WARNING: CPU: 1 PID: 532 at drivers/usb/core/hcd.c:1584 usb_hcd_m
ap_urb_for_dma+0x37f/0x570
[   14.845500] transfer buffer not dma capable
[   14.845502] Modules linked in: dvb_usb_dw2102(+) dvb_usb dvb_core irqbypass c
rct10dif_pclmul joydev iwlwifi crc32_pclmul ghash_clmulni_intel intel_cstate btu
sb snd_intel_sst_acpi snd_intel_sst_core btrtl cfg80211 snd_soc_rt5670 snd_hda_c
odec_realtek snd_soc_sst_mfld_platform snd_hda_codec_generic snd_soc_sst_match s
nd_soc_rl6231 snd_soc_core snd_hda_intel hci_uart btbcm btqca snd_hda_codec btin
tel snd_hda_core bluetooth ir_lirc_codec nxp_nci_i2c nxp_nci lirc_dev nci snd_co
mpress snd_hwdep nfc rfkill_gpio rc_rc6_mce ite_cir snd_pcm_dmaengine rfkill rc_
core ac97_bus snd_seq snd_seq_device dw_dmac i2c_designware_platform spi_pxa2xx_
platform snd_pcm mei_txe snd_timer mei shpchp pwm_lpss_platform pwm_lpss snd lpc_ich i2c_i801 i2c_designware_pci i2c_designware_core i2c_smbus soc_button_array tpm_tis soundcore

Seems to be fixed in linux-next:

https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=43fab9793c1f44e665b4f98035a14942edf03ddc

Comment 15 Michael Chapman 2017-04-06 10:17:52 UTC
(In reply to Dirk Nehring from comment #14)
> 4.9.9-200.fc25 stilled failed for me:
> 
> [   14.845463] dw2102: su3000_identify_state
[...]

You might want to CC yourself onto bug #1427907. Try out a 4.10 kernel first though.

As for the hardware in this bug report, I'm going to have to open a new ticket as it appears to have regressed somewhere between 4.9.13-200 and 4.10.8-200.

Comment 16 Dirk Nehring 2017-04-06 16:01:54 UTC
Fixed for me in 4.10.6-200.fc25.x86_64:

[root@nuc ~]# dmesg | grep -E "(dvb|dw2|ts2020)"
[   14.852894] dw2102: su3000_identify_state
[   14.852897] dvb-usb: found a 'TechnoTrend TT-connect S2-4600' in warm state.
[   14.852909] dw2102: su3000_power_ctrl: 1, initialized 0
[   14.853019] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[   14.853128] dvbdev: DVB: registering new adapter (TechnoTrend TT-connect S2-4600)
[   14.857336] dvb-usb: MAC address: xx:xx:xx:xx:xx:xx
[   14.857972] dvbdev: dvb_register_device: DVB: register adapter0/demux0 @ minor: 0 (0x00)
[   14.858239] dvbdev: dvb_register_device: DVB: register adapter0/dvr0 @ minor: 1 (0x01)
[   14.858660] dvbdev: dvb_register_device: DVB: register adapter0/net0 @ minor: 2 (0x02)
[   15.320494] ts2020 12-0060: Montage Technology TS2022 successfully identified
[   15.320628] dvbdev: dvb_register_device: DVB: register adapter0/frontend0 @ minor: 3 (0x03)
[   15.417798] dvb-usb: schedule remote query interval to 250 msecs.
[   15.417808] dw2102: su3000_power_ctrl: 0, initialized 1
[   15.417811] dvb-usb: TechnoTrend TT-connect S2-4600 successfully initialized and connected.
[   15.417927] usbcore: registered new interface driver dw2102