Skip to content

SoundWire: codecs: IO timeouts when card is created after bus suspends #3643

Description

@plbossart

If the machine driver is blacklisted, and manually probed (modprobe snd-soc-sof-sdw) after the bus suspends, IO timeouts will be reported in the .set_jack_detect callback, e.g.

[  105.531053] rt711-sdca sdw:0:025d:0711:01: Failed to get private value: 610003c => 47026cc4 ret=-16
[  105.531059] rt711-sdca sdw:0:025d:0711:01: Failed to get private value: 6100038 => 47026cc4 ret=-16
[  105.531064] rt711-sdca sdw:0:025d:0711:01: Failed to get private value: 2000008 => 0c60 ret=-16
[  106.038544] soundwire_intel soundwire_intel.link.0: IO transfer timed out, cmd 3 device 1 addr 5c len 1
[  106.038561] soundwire sdw-master-0: trf on Slave 1 failed:-110 write addr 5c count 0
[  106.542544] soundwire_intel soundwire_intel.link.0: IO transfer timed out, cmd 3 device 1 addr 5d len 1
[  106.542561] soundwire sdw-master-0: trf on Slave 1 failed:-110 write addr 5d count 0
[  106.542571] rt711-sdca sdw:0:025d:0711:01: in rt711_sdca_jack_init enable

The code in this function tests if the hardware was initialized, but it should really use pm_runtime_resume_and_get() to make sure the bus is active before initiating any transactions.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    SDWApplies to SoundWire bus for codec connectioncodecCodec HW or driver restriction

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions