mirror of https://gitee.com/openkylin/linux.git
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: Clemens Ladisch <clemens@ladisch.de> Reported-and-tested-by: Ozan Çağlayan <ozan@pardus.org.tr> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
b91ab72b83
commit
92653453c3
|
@ -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.
|
||||
*/
|
||||
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
|
||||
* unique even without the subsystem vendor ID, which may have been
|
||||
|
|
Loading…
Reference in New Issue