Message ID | 1430499920-28599-1-git-send-email-Witold.Szczeponik@gmx.net (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Rafael Wysocki |
Headers | show |
On Friday, May 01, 2015 07:05:20 PM Witold Szczeponik wrote: > Commit eec15edbb0e14485998635ea7c62e30911b465f0 ("ACPI / PNP: use > device ID list for PNPACPI device enumeration") changed the way how > ACPI devices are enumerated and when they are added to the PNP bus. > > However, it broke the sound card support on (at least) a vintage > IBM ThinkPad 600E: with said commit applied, two of the necessary > "CSC01xx" devices are not added to the PNP bus and hence can not be > found during the initialization of the "snd-cs4236" module. As a > consequence, loading "snd-cs4236" causes null pointer exceptions. > The attached patch fixes the problem end re-enables sound on the > IBM ThinkPad 600E. > > The patch is applied against Linux 4.0.x. Queued up as a fix for 4.1, thanks! But your e-mail client mangles whitespace. > NB: A quick way to see if existing devices are missing from the > PNP bus, the following script can be used to list candidates IDs. > > hids="/sys/bus/acpi/devices/*/hid" > for hid in $(grep -v -h -E -e "^(LNX|PNP|ACPI)" $hids | sort -u) > do > grep -q \"$hid\" drivers/acpi/acpi_pnp.c || echo $hid > done > > Signed-off-by: Witold Szczeponik <Witold.Szczeponik@gmx.net> > > > diff --git a/drivers/acpi/acpi_pnp.c b/drivers/acpi/acpi_pnp.c > index b193f84..ff6d8ad 100644 > --- a/drivers/acpi/acpi_pnp.c > +++ b/drivers/acpi/acpi_pnp.c > @@ -304,6 +304,8 @@ static const struct acpi_device_id acpi_pnp_device_ids[] = { > {"PNPb006"}, > /* cs423x-pnpbios */ > {"CSC0100"}, > + {"CSC0103"}, > + {"CSC0110"}, > {"CSC0000"}, > {"GIM0100"}, /* Guillemot Turtlebeach something appears to be cs4232 compatible */ > /* es18xx-pnpbios */ >
On 04/05/15 16:33, Rafael J. Wysocki wrote: [snip] > > Queued up as a fix for 4.1, thanks! Thanks! > > But your e-mail client mangles whitespace. I used "git send-email"; and after quick look at the file I sent out I realized that the whitespace errors were already in the mail source and must have been introduced earlier in the process. --- Witold [snip] -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/acpi/acpi_pnp.c b/drivers/acpi/acpi_pnp.c index b193f84..ff6d8ad 100644 --- a/drivers/acpi/acpi_pnp.c +++ b/drivers/acpi/acpi_pnp.c @@ -304,6 +304,8 @@ static const struct acpi_device_id acpi_pnp_device_ids[] = { {"PNPb006"}, /* cs423x-pnpbios */ {"CSC0100"}, + {"CSC0103"}, + {"CSC0110"}, {"CSC0000"}, {"GIM0100"}, /* Guillemot Turtlebeach something appears to be cs4232 compatible */ /* es18xx-pnpbios */
Commit eec15edbb0e14485998635ea7c62e30911b465f0 ("ACPI / PNP: use device ID list for PNPACPI device enumeration") changed the way how ACPI devices are enumerated and when they are added to the PNP bus. However, it broke the sound card support on (at least) a vintage IBM ThinkPad 600E: with said commit applied, two of the necessary "CSC01xx" devices are not added to the PNP bus and hence can not be found during the initialization of the "snd-cs4236" module. As a consequence, loading "snd-cs4236" causes null pointer exceptions. The attached patch fixes the problem end re-enables sound on the IBM ThinkPad 600E. The patch is applied against Linux 4.0.x. NB: A quick way to see if existing devices are missing from the PNP bus, the following script can be used to list candidates IDs. hids="/sys/bus/acpi/devices/*/hid" for hid in $(grep -v -h -E -e "^(LNX|PNP|ACPI)" $hids | sort -u) do grep -q \"$hid\" drivers/acpi/acpi_pnp.c || echo $hid done Signed-off-by: Witold Szczeponik <Witold.Szczeponik@gmx.net>