Bug 155271 - intel_sst_acpi 808622A8:00: No matching machine driver found
Summary: intel_sst_acpi 808622A8:00: No matching machine driver found
Status: RESOLVED DUPLICATE of bug 156191
Alias: None
Product: Drivers
Classification: Unclassified
Component: Other (show other bugs)
Hardware: Intel Linux
: P1 normal
Assignee: drivers_other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-29 10:56 UTC by tagorereddy
Modified: 2017-03-20 06:15 UTC (History)
1 user (show)

See Also:
Kernel Version: 4.8.0 -rc3
Subsystem:
Regression: No
Bisected commit-id:


Attachments
DMESG (56.17 KB, text/plain)
2016-08-31 03:38 UTC, tagorereddy
Details
dmesg4.10 (299.33 KB, text/x-log)
2016-12-29 01:24 UTC, jayki
Details

Description tagorereddy 2016-08-29 10:56:53 UTC
[   26.748477] intel_sst_acpi 808622A8:00: No matching machine driver found
Comment 1 tagorereddy 2016-08-31 03:38:39 UTC
Created attachment 231571 [details]
DMESG
Comment 2 tagorereddy 2016-09-06 09:28:54 UTC
Alright! After going through the source code and poking around a bit, i found that the problem is with 


From file sound/soc/intel/common/sst-match-acpi.c:

struct sst_acpi_mach *sst_acpi_find_machine(struct sst_acpi_mach *machines)
{
	struct sst_acpi_mach *mach;
	bool found = false;

	for (mach = machines; mach->id[0]; mach++)
        {
            if (ACPI_SUCCESS(acpi_get_devices(mach->id,
						  sst_acpi_mach_match,
						  &found, NULL)) && found)
			return mach;
        }
	return NULL;
}

Observation: acpi_get_devices() is always reporting FAILURE status. But the device is available on the HID. I bypassed the function by disregarding the function return and the device starts to initialize only to be later tripped by 


const char *sst_acpi_find_name_from_hid(const u8 hid[ACPI_ID_LEN])
{
	const char *name = NULL;
	acpi_status status;

	status = acpi_get_devices(hid, sst_acpi_find_name, NULL,
				  (void **)&name);

	if (ACPI_FAILURE(status) || name[0] == '\0')
		return NULL;

	return name;
}

Again acpi_get_devices() reports FAILURE status. At this point I'm stuck as to why this is happening.

From file drivers/acpi/acpia/nsxfeval.c

acpi_status acpi_get_devices(const char *HID,
                  acpi_walk_callback user_function,
                  void *context, void **return_value)
 {
         acpi_status status;
         struct acpi_get_devices_info info;
 
         ACPI_FUNCTION_TRACE(acpi_get_devices);
 
         /* Parameter validation */
 
         if (!user_function) {
                 return_ACPI_STATUS(AE_BAD_PARAMETER);
         }
 
         /*
          * We're going to call their callback from OUR callback, so we need
          * to know what it is, and their context parameter.
          */
         info.hid = HID;
         info.context = context;
         info.user_function = user_function;
 
         /*
          * Lock the namespace around the walk.
          * The namespace will be unlocked/locked around each call
          * to the user function - since this function
          * must be allowed to make Acpi calls itself.
          */
         status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
         if (ACPI_FAILURE(status)) {
                 return_ACPI_STATUS(status);
         }

        status = acpi_ns_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
                                         ACPI_UINT32_MAX, ACPI_NS_WALK_UNLOCK,
                                        acpi_ns_get_device_callback, NULL,
                                         &info, return_value);
 
         (void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
         return_ACPI_STATUS(status);
 }

Could the tripping be because of the mutex ACPI_MTX_NAMESPACE not being acquired?

Don't know if this is of any relavance, I've attached DMESG in which it could be seen that there was a PUNIT semaphore timeout and bus ownership couldn't be acquired.

I don't know how to proceed. Could someone assist?
Comment 3 jayki 2016-12-29 01:24:11 UTC
Created attachment 248891 [details]
dmesg4.10

Hi,
i'm using odys vario pro 12,
ive patched some bugs, like the semaphore bug and so on,
but this still seems a problem here, because i get the same error in dmesg and have no sound :(
Using 4.10-git with patches from https://bugzilla.kernel.org/show_bug.cgi?id=155241

Please help, no sound really sucks :/
Comment 4 tagorereddy 2017-03-20 06:15:53 UTC

*** This bug has been marked as a duplicate of bug 156191 ***

Note You need to log in before you can comment on or make changes to this bug.