Re: 4.19.0-rc1 rtsx_pci_sdmmc.0: error: data->host_cookie = 62, host->cookie = 63

From: Ulf Hansson
Date: Fri Aug 31 2018 - 02:37:34 EST


On 30 August 2018 at 21:06, Douglas Gilbert <dgilbert@xxxxxxxxxxxx> wrote:
> On 2018-08-30 02:03 PM, Ulf Hansson wrote:
>>
>> On 28 August 2018 at 23:47, Douglas Gilbert <dgilbert@xxxxxxxxxxxx> wrote:
>>>
>>> I usually boot my Lenovo X270 with a SD card in its:
>>> # lspci
>>> 02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A
>>> PCI
>>> Express Card Reader (rev 01)
>>> ...
>>>
>>> In lk 4.19.0-rc1 the boot locks up solid, almost immediately and nothing
>>> in
>>> the logs. If I remove the SD card my machine boots and works okay until I
>>> insert the SD card. Then:
>>>
>>> Aug 28 23:30:38 xtwo70 kernel: mmc0: cannot verify signal voltage switch
>>> Aug 28 23:30:38 xtwo70 kernel: mmc0: new ultra high speed SDR104 SDXC
>>> card
>>> at address aaaa
>>> Aug 28 23:30:38 xtwo70 kernel: mmcblk0: mmc0:aaaa ACLCE 59.5 GiB
>>> Aug 28 23:30:38 xtwo70 kernel: mmcblk0: p1 p2
>>> Aug 28 23:30:38 xtwo70 kernel: rtsx_pci_sdmmc rtsx_pci_sdmmc.0: error:
>>> data->host_cookie = 62, host->cookie = 63
>>> Aug 28 23:30:38 xtwo70 kernel: BUG: unable to handle kernel NULL pointer
>>> dereference at 0000000000000018
>>> Aug 28 23:30:38 xtwo70 kernel: PGD 0 P4D 0
>>> Aug 28 23:30:38 xtwo70 kernel: Oops: 0000 [#1] SMP
>>> Aug 28 23:30:38 xtwo70 kernel: CPU: 3 PID: 1571 Comm: kworker/3:2 Not
>>> tainted 4.19.0-rc1 #78
>>> Aug 28 23:30:38 xtwo70 kernel: Hardware name: LENOVO
>>> 20HNCTO1WW/20HNCTO1WW,
>>> BIOS R0IET53W (1.31 ) 05/22/2018
>>> Aug 28 23:30:38 xtwo70 kernel: Workqueue: events sd_request
>>> [rtsx_pci_sdmmc]
>>> Aug 28 23:30:38 xtwo70 kernel: RIP: 0010:rtsx_pci_dma_transfer+0x6e/0x260
>>> [rtsx_pci]
>>> Aug 28 23:30:38 xtwo70 kernel: Code: 49 89 fe 45 89 c5 c7 87 90 00 00 00
>>> 00
>>> 00 00 00 8d 6a ff 81 c9 00 00 00 88 31 d2 41 89 cc 45 31 ff eb 07 41 8b
>>> 96
>>> 90 00 00 00 <8b> 78 18 48 63 ca 31 f6 44 39 fd 48 8b 50 10 40 0f 94 c6 41
>>> 83
>>> c7
>>> Aug 28 23:30:38 xtwo70 kernel: RSP: 0018:ffffc90000217d78 EFLAGS:
>>> 00010202
>>> Aug 28 23:30:38 xtwo70 kernel: RAX: 0000000000000000 RBX:
>>> 0000000000000003
>>> RCX: 0000000000000000
>>> Aug 28 23:30:38 xtwo70 kernel: RDX: 0000000000000001 RSI:
>>> 0000000000000021
>>> RDI: ffff8801b6328000
>>> Aug 28 23:30:38 xtwo70 kernel: RBP: 0000000000000002 R08:
>>> ffff880036000400
>>> R09: 0000000000000000
>>> Aug 28 23:30:38 xtwo70 kernel: R10: 0000000000000000 R11:
>>> 0000000000000000
>>> R12: 00000000a8000000
>>> Aug 28 23:30:38 xtwo70 kernel: R13: 0000000000002710 R14:
>>> ffff88021fd35400
>>> R15: 0000000000000001
>>> Aug 28 23:30:38 xtwo70 kernel: FS: 0000000000000000(0000)
>>> GS:ffff880227380000(0000) knlGS:0000000000000000
>>> Aug 28 23:30:38 xtwo70 kernel: CS: 0010 DS: 0000 ES: 0000 CR0:
>>> 0000000080050033
>>> Aug 28 23:30:38 xtwo70 kernel: CR2: 0000000000000018 CR3:
>>> 000000000400f006
>>> CR4: 00000000003606e0
>>> Aug 28 23:30:38 xtwo70 kernel: Call Trace:
>>> Aug 28 23:30:38 xtwo70 kernel: ? mark_held_locks+0x50/0x80
>>> Aug 28 23:30:38 xtwo70 kernel: ? _raw_spin_unlock_irqrestore+0x2d/0x40
>>> Aug 28 23:30:38 xtwo70 kernel: sd_request+0x385/0x81a [rtsx_pci_sdmmc]
>>> Aug 28 23:30:38 xtwo70 kernel: process_one_work+0x287/0x5e0
>>> Aug 28 23:30:38 xtwo70 kernel: worker_thread+0x28/0x3d0
>>> Aug 28 23:30:38 xtwo70 kernel: ? process_one_work+0x5e0/0x5e0
>>> Aug 28 23:30:38 xtwo70 kernel: kthread+0x10e/0x130
>>> Aug 28 23:30:38 xtwo70 kernel: ? kthread_park+0x80/0x80
>>> Aug 28 23:30:38 xtwo70 kernel: ret_from_fork+0x3a/0x50
>>> Aug 28 23:30:38 xtwo70 kernel: Modules linked in: mmc_block fuse msr bnep
>>> ccm btusb btrtl btbcm btintel bluetooth squashfs ecdh_generic binfmt_misc
>>> intel_rapl nls_iso8859_1 nls_cp437 x86_pkg_temp_thermal vfat
>>> intel_powerclamp fat coretemp kvm_intel arc4 snd_hda_codec_hdmi kvm
>>> snd_hda_codec_realtek snd_hda_codec_generic irqbypass crct10dif_pclmul
>>> crc32_pclmul ghash_clmulni_intel pcbc iwlmvm aesni_intel aes_x86_64
>>> crypto_simd cryptd glue_helper mac80211 intel_cstate intel_uncore
>>> intel_rapl_perf snd_hda_intel joydev snd_hda_codec mousedev snd_hwdep
>>> iwlwifi snd_hda_core input_leds efi_pstore snd_pcm serio_raw efivars
>>> cfg80211 rtsx_pci_ms memstick mei_me idma64 virt_dma mei intel_lpss_pci
>>> intel_lpss intel_pch_thermal thinkpad_acpi nvram snd_seq_dummy tps6598x
>>> snd_seq_oss typec snd_seq_midi snd_rawmidi snd_seq_midi_event
>>> Aug 28 23:30:38 xtwo70 kernel: snd_seq snd_seq_device snd_timer snd
>>> soundcore rfkill tpm_crb tpm_tis tpm_tis_core tpm evdev mac_hid
>>> pcc_cpufreq
>>> ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 xt_hl ip6t_rt ipt_REJECT
>>> nf_reject_ipv4 nf_log_ipv4 nf_log_common xt_LOG xt_limit xt_tcpudp
>>> xt_addrtype xt_conntrack ip6table_filter ip6_tables
>>> nf_conntrack_netbios_ns
>>> nf_conntrack_broadcast nf_nat_ftp nf_nat nf_conntrack_ftp nf_conntrack
>>> nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c iptable_filter parport_pc ppdev
>>> lp
>>> parport efivarfs ip_tables x_tables autofs4 hid_logitech_hidpp
>>> hid_logitech_dj hid_generic usbhid hid rtsx_pci_sdmmc mmc_core i915 nvme
>>> e1000e i2c_algo_bit nvme_core drm_kms_helper syscopyarea sysfillrect
>>> sysimgblt fb_sys_fops xhci_pci drm xhci_hcd video
>>> drm_panel_orientation_quirks usbcore intel_gtt agpgart usb_common
>>> rtsx_pci
>>> Aug 28 23:30:38 xtwo70 kernel: CR2: 0000000000000018
>>> Aug 28 23:30:38 xtwo70 kernel: ---[ end trace bb8ce18072d22d51 ]---
>>> Aug 28 23:30:38 xtwo70 dbus-daemon[2110]: [system] Activating via
>>> systemd:
>>> service name='org.freedesktop.hostname1'
>>> unit='dbus-org.freedesktop.hostname1.service' requested by ':1.77'
>>> (uid=1000
>>> pid=3518 comm="/usr/bin/gnome-shell ")
>>> Aug 28 23:30:38 xtwo70 systemd[1]: Attaching egress BPF program to cgroup
>>> /sys/fs/cgroup/unified/system.slice/systemd-hostnamed.service failed:
>>> Invalid argument
>>> Aug 28 23:30:38 xtwo70 systemd[1]: Starting Hostname Service...
>>> Aug 28 23:30:39 xtwo70 kernel: RIP: 0010:rtsx_pci_dma_transfer+0x6e/0x260
>>> [rtsx_pci]
>>> Aug 28 23:30:39 xtwo70 kernel: Code: 49 89 fe 45 89 c5 c7 87 90 00 00 00
>>> 00
>>> 00 00 00 8d 6a ff 81 c9 00 00 00 88 31 d2 41 89 cc 45 31 ff eb 07 41 8b
>>> 96
>>> 90 00 00 00 <8b> 78 18 48 63 ca 31 f6 44 39 fd 48 8b 50 10 40 0f 94 c6 41
>>> 83
>>> c7
>>> Aug 28 23:30:39 xtwo70 kernel: RSP: 0018:ffffc90000217d78 EFLAGS:
>>> 00010202
>>> Aug 28 23:30:39 xtwo70 kernel: RAX: 0000000000000000 RBX:
>>> 0000000000000003
>>> RCX: 0000000000000000
>>> Aug 28 23:30:39 xtwo70 kernel: RDX: 0000000000000001 RSI:
>>> 0000000000000021
>>> RDI: ffff8801b6328000
>>> Aug 28 23:30:39 xtwo70 kernel: RBP: 0000000000000002 R08:
>>> ffff880036000400
>>> R09: 0000000000000000
>>> Aug 28 23:30:39 xtwo70 kernel: R10: 0000000000000000 R11:
>>> 0000000000000000
>>> R12: 00000000a8000000
>>> Aug 28 23:30:39 xtwo70 kernel: R13: 0000000000002710 R14:
>>> ffff88021fd35400
>>> R15: 0000000000000001
>>> Aug 28 23:30:39 xtwo70 kernel: FS: 0000000000000000(0000)
>>> GS:ffff880227380000(0000) knlGS:0000000000000000
>>> Aug 28 23:30:39 xtwo70 kernel: CS: 0010 DS: 0000 ES: 0000 CR0:
>>> 0000000080050033
>>> Aug 28 23:30:39 xtwo70 kernel: CR2: 000056531391e498 CR3:
>>> 000000000400f006
>>> CR4: 00000000003606e0
>>>
>>>
>>> Doug Gilbert
>>
>>
>> Thanks for reporting!
>>
>> I don't fine anything obvious from the mmc host driver point of view.
>> However, there are a few changes in the mmc core layer which we
>> already have fixes for.
>>
>> You may either try my fixes branch from my mmc tree or use Stephen's
>> tree and the branch pending fixes, to see if that fixes the problem.
>>
>> git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git fixes
>>
>> git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git pending-fixes
>
>
>
> This patch from your fixes branch:
> mmc: block: Fix unsupported parallel dispatch of requests
> fixes my boot problem. I also did a remove and re-insertion of
> the SD card and that worked as well.
>
> Doug Gilbert
>
> P.S. it's commit 26caddf274cf1e89fd4ce44ab2b8dbc7a7f97681

Great, thanks! The fix is on the way to Linus' tree, should reach rc2.

Kind regards
Uffe