提交 92653453 编写于 作者: C Clemens Ladisch 提交者: Takashi Iwai

sound: oxygen: handle cards with missing EEPROM

The card model detection code introduced in 2.6.30 that tries to work
around partially broken EEPROM contents by reading the EEPROM directly
does not handle cards where the EEPROM has been omitted.  In this case,
we have to use the default ID to allow the driver to load.
Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
Reported-and-tested-by: NOzan Çağlayan <ozan@pardus.org.tr>
Cc: <stable@kernel.org>
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
上级 b91ab72b
...@@ -260,6 +260,9 @@ oxygen_search_pci_id(struct oxygen *chip, const struct pci_device_id ids[]) ...@@ -260,6 +260,9 @@ oxygen_search_pci_id(struct oxygen *chip, const struct pci_device_id ids[])
* chip didn't if the first EEPROM word was overwritten. * chip didn't if the first EEPROM word was overwritten.
*/ */
subdevice = oxygen_read_eeprom(chip, 2); subdevice = oxygen_read_eeprom(chip, 2);
/* use default ID if EEPROM is missing */
if (subdevice == 0xffff)
subdevice = 0x8788;
/* /*
* We use only the subsystem device ID for searching because it is * We use only the subsystem device ID for searching because it is
* unique even without the subsystem vendor ID, which may have been * unique even without the subsystem vendor ID, which may have been
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册