USB power management instability
Sometimes, when all the devices connected to the USB2642 hub suspend, allowing the hub itself to suspend as well, the system has troubles with communicating with them after resume afterwards.
I've seen this happening with the SD card:
[ 362.796724] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08 cmd_age=0s
[ 362.806087] sd 0:0:0:0: [sda] tag#0 Sense Key : 0x6 [current]
[ 362.812057] sd 0:0:0:0: [sda] tag#0 ASC=0x28 ASCQ=0x0
[ 362.817305] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 08 d3 86 e0 00 00 f0 00
[ 362.825162] blk_update_request: I/O error, dev sda, sector 148080352 op 0x0:(READ) flags 0x84700 phys_seg 16 prio class 0
[ 362.837352] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 362.843373] blk_update_request: I/O error, dev sda, sector 148080592 op 0x0:(READ) flags 0x80700 phys_seg 2 prio class 0
[ 363.125483] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 363.131543] blk_update_request: I/O error, dev sda, sector 148080608 op 0x0:(READ) flags 0x84700 phys_seg 2 prio class 0
[ 363.143432] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 363.149332] blk_update_request: I/O error, dev sda, sector 148080848 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[ 363.161100] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 363.167020] blk_update_request: I/O error, dev sda, sector 148080352 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 363.228716] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 363.235058] blk_update_request: I/O error, dev sda, sector 148080352 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 363.247926] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 363.254232] blk_update_request: I/O error, dev sda, sector 148080352 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 364.124499] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 364.130540] blk_update_request: I/O error, dev sda, sector 148080352 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 364.277566] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 364.283732] blk_update_request: I/O error, dev sda, sector 148080352 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 364.384446] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 364.392011] blk_update_request: I/O error, dev sda, sector 148080352 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 364.479720] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 364.578303] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 364.674929] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 364.775344] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 364.879329] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 364.976736] sd 0:0:0:0: [sda] tag#0 device offline or changed
[ 365.076756] sd 0:0:0:0: [sda] tag#0 device offline or changed
and with the modem. It gets reset though, giving it a chance to recover:
Aug 03 14:39:53 pureos kernel: usb 1-1.2: reset high-speed USB device number 4 using xhci-hcd
Aug 03 14:39:53 pureos kernel: usb 1-1.2: USB disconnect, device number 4
Aug 03 14:39:53 pureos kernel: qmi_wwan 1-1.2:1.4: Tx URB error: -19
Aug 03 14:39:53 pureos kernel: option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
Aug 03 14:39:53 pureos kernel: option 1-1.2:1.0: device disconnected
Aug 03 14:39:53 pureos kernel: option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
Aug 03 14:39:53 pureos kernel: option 1-1.2:1.1: device disconnected
Aug 03 14:39:53 pureos kernel: option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
Aug 03 14:39:53 pureos kernel: option 1-1.2:1.2: device disconnected
Aug 03 14:39:53 pureos kernel: option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
Aug 03 14:39:53 pureos kernel: option 1-1.2:1.3: device disconnected
Aug 03 14:39:53 pureos kernel: qmi_wwan 1-1.2:1.4 wwan0: unregister 'qmi_wwan' usb-xhci-hcd.4.auto-1.2, WWAN/QMI device
Aug 03 14:39:53 pureos kernel: usb 1-1.2: new high-speed USB device number 5 using xhci-hcd
Aug 03 14:39:53 pureos kernel: usb 1-1.2: New USB device found, idVendor=2020, idProduct=2060, bcdDevice= 0.00
Aug 03 14:39:53 pureos kernel: usb 1-1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
Aug 03 14:39:53 pureos kernel: usb 1-1.2: Product: Qualcomm CDMA Technologies MSM
Aug 03 14:39:53 pureos kernel: usb 1-1.2: Manufacturer: Qualcomm, Incorporated
Aug 03 14:39:54 pureos kernel: option 1-1.2:1.0: GSM modem (1-port) converter detected
Aug 03 14:39:54 pureos kernel: usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
Aug 03 14:39:54 pureos kernel: option 1-1.2:1.1: GSM modem (1-port) converter detected
Aug 03 14:39:54 pureos kernel: usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
Aug 03 14:39:54 pureos kernel: option 1-1.2:1.2: GSM modem (1-port) converter detected
Aug 03 14:39:54 pureos kernel: usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB2
Aug 03 14:39:54 pureos kernel: option 1-1.2:1.3: GSM modem (1-port) converter detected
Aug 03 14:39:54 pureos kernel: usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB3
Aug 03 14:39:54 pureos kernel: qmi_wwan 1-1.2:1.4: cdc-wdm0: USB WDM device
However, when I disable the periodic signal strength polling in ModemManager it seems like it doesn't reset anymore and just stays in a bad state until MM actually tries to communicate with the modem.
So far I haven't seen it happening when either the modem or the SD card wasn't allowed to suspend; I'll keep testing.