g_multi warning on unload
g_multi
gives a warning in composite_unbind
. This might be related to other weird behaviour relating to USB interfaces, like the failure to modprobe g_mass_storage
afterwards.
Main warning
purism@pureos:~$ sudo rmmod g_multi
purism@pureos:~$ dmesg | tail -n 55
[ 119.022298] etnaviv-gpu 38000000.gpu: genpd_runtime_resume()
[ 119.271498] etnaviv-gpu 38000000.gpu: genpd_runtime_suspend()
[ 119.501821] etnaviv-gpu 38000000.gpu: genpd_runtime_resume()
[ 119.751267] etnaviv-gpu 38000000.gpu: genpd_runtime_suspend()
[ 125.021949] etnaviv-gpu 38000000.gpu: genpd_runtime_resume()
[ 125.273166] etnaviv-gpu 38000000.gpu: genpd_runtime_suspend()
[ 139.445443] etnaviv-gpu 38000000.gpu: genpd_runtime_resume()
[ 139.694193] etnaviv-gpu 38000000.gpu: genpd_runtime_suspend()
[ 143.269795] etnaviv-gpu 38000000.gpu: genpd_runtime_suspend()
[ 148.932523] etnaviv-gpu 38000000.gpu: genpd_runtime_resume()
[ 149.269298] etnaviv-gpu 38000000.gpu: genpd_runtime_suspend()
[ 154.665207] ------------[ cut here ]------------
[ 154.665307] WARNING: CPU: 1 PID: 1047 at drivers/usb/gadget/composite.c:2010 __composite_unbind+0x4c/0xe8 [libcomposite]
[ 154.665311] Modules linked in: usb_f_acm u_serial usb_f_rndis g_multi(-) usb_f_mass_storage u_ether libcomposite aes_ce_ccm rfcomm bnep redpine_sdio redpine_91x aes_ce_blk crypto_simd bluetooth mac80211 crct10dif_ce ghash_ce cfg80211 sha2_ce sha1_ce rfkill st_lsm6dsx_spi pwm_vibra snd_soc_gtm601 st_magn_spi st_sensors_spi mousedev bq25890_charger snd_soc_wm8962 st_magn_i2c vcnl4000 st_magn st_sensors_i2c st_lsm6dsx_i2c st_sensors st_lsm6dsx industrialio_triggered_buffer kfifo_buf tps6598x typec m25p80 spi_nor mtd snvs_pwrkey imx2_wdt imx_sdma virt_dma watchdog ip_tables x_tables ipv6 nf_defrag_ipv6 uas usb_storage xhci_plat_hcd xhci_hcd usbcore dwc3 ulpi udc_core usb_common phy_fsl_imx8mq_usb
[ 154.665435] CPU: 1 PID: 1047 Comm: rmmod Not tainted 5.3.0-librem5-h1 #1
[ 154.665439] Hardware name: Purism Librem 5 (DT)
[ 154.665445] pstate: 80000005 (Nzcv daif -PAN -UAO)
[ 154.665462] pc : __composite_unbind+0x4c/0xe8 [libcomposite]
[ 154.665479] lr : __composite_unbind+0x4c/0xe8 [libcomposite]
[ 154.665483] sp : ffff80007a60fd10
[ 154.665486] x29: ffff80007a60fd10 x28: ffff80007bb30dc0
[ 154.665493] x27: 0000000000000000 x26: 0000000000000000
[ 154.665500] x25: 0000000056000000 x24: 0000000000000015
[ 154.665507] x23: 0000000000000001 x22: ffff000008d4e0e0
[ 154.665514] x21: ffff8000a47913b8 x20: ffff8000a4787810
[ 154.665521] x19: ffff8000a670ee00 x18: 0000000000000000
[ 154.665528] x17: 0000000000000000 x16: 0000000000000000
[ 154.665535] x15: ffffffffffffffff x14: 5355007465676461
[ 154.665542] x13: 000000000000fb34 x12: ffff000010fb2000
[ 154.665549] x11: ffff000010e98000 x10: ffff000010fb26f0
[ 154.665555] x9 : 0000000000000000 x8 : 0000000000000004
[ 154.665562] x7 : 000000000000104a x6 : ffff8000bf95aad8
[ 154.665569] x5 : ffff8000bf95aad8 x4 : 0000000000000000
[ 154.665575] x3 : 0000000000000001 x2 : d6d2cfd9f0666900
[ 154.665582] x1 : 0000000000000000 x0 : 0000000000000024
[ 154.665588] Call trace:
[ 154.665606] __composite_unbind+0x4c/0xe8 [libcomposite]
[ 154.665621] composite_unbind+0x24/0x30 [libcomposite]
[ 154.665643] usb_gadget_remove_driver+0x40/0xa0 [udc_core]
[ 154.665659] usb_gadget_unregister_driver+0xc4/0xf8 [udc_core]
[ 154.665675] usb_composite_unregister+0x20/0x30 [libcomposite]
[ 154.665687] multi_driver_exit+0x18/0xb10 [g_multi]
[ 154.665699] __arm64_sys_delete_module+0x184/0x240
[ 154.665710] el0_svc_common.constprop.0+0x98/0x170
[ 154.665716] el0_svc_handler+0x2c/0x38
[ 154.665723] el0_svc+0x8/0xc
[ 154.665728] ---[ end trace a0aeb8ec3385f501 ]---
[ 154.668478] device: 'lun0': device_unregister
[ 154.668577] PM: Removing info for No Bus:lun0
[ 154.669024] device: 'ttyGS0': device_unregister
[ 154.669187] PM: Removing info for No Bus:ttyGS0
[ 154.671785] printk: console [ttyGS-1] disabled
[ 154.682692] PM: Removing info for No Bus:usb0
[ 155.018314] etnaviv-gpu 38000000.gpu: genpd_runtime_resume()
[ 155.268970] etnaviv-gpu 38000000.gpu: genpd_runtime_suspend()
Mass storage failure:
purism@pureos:~$ sudo modprobe g_mass_storage file=/var/lib/mass_storage_dummy stall=0
[ 458.299377] Mass Storage Function, version: 2009/09/11
[ 458.299392] LUN: removable file: (no medium)
[ 458.299439] device: 'lun0': device_add
[ 458.299487] PM: Adding info for No Bus:lun0
[ 458.299523] LUN: file: /var/lib/mass_storage_dummy
[ 458.299532] Number of LUNs=1
[ 458.299773] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
[ 458.299782] g_mass_storage gadget: userspace failed to provide iSerialNumber
[ 458.299790] g_mass_storage gadget: g_mass_storage ready
[ 458.302173] dwc3 38100000.usb: failed to enable ep0in
Nothing in lsusb, but rmmod works.