aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/oxygen
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2009-09-28 05:05:18 -0400
committerTakashi Iwai <tiwai@suse.de>2009-09-28 05:53:21 -0400
commit87b61902ce3dec23a2d8256b9cfcf4e28786a320 (patch)
tree4d8785a7c6048386f7ff725d34260ea3cc637aad /sound/pci/oxygen
parent17d857be649a21ca90008c6dc425d849fa83db5c (diff)
sound: oxygen: do not try to restore nonexistent EEPROM
On cards where the EEPROM was deliberately omitted, we do not need to try to restore the EEPROM's contents. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/oxygen')
-rw-r--r--sound/pci/oxygen/oxygen_lib.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/pci/oxygen/oxygen_lib.c b/sound/pci/oxygen/oxygen_lib.c
index 9a8936e20744..c9f271419eb8 100644
--- a/sound/pci/oxygen/oxygen_lib.c
+++ b/sound/pci/oxygen/oxygen_lib.c
@@ -278,7 +278,11 @@ oxygen_search_pci_id(struct oxygen *chip, const struct pci_device_id ids[])
278static void oxygen_restore_eeprom(struct oxygen *chip, 278static void oxygen_restore_eeprom(struct oxygen *chip,
279 const struct pci_device_id *id) 279 const struct pci_device_id *id)
280{ 280{
281 if (oxygen_read_eeprom(chip, 0) != OXYGEN_EEPROM_ID) { 281 u16 eeprom_id;
282
283 eeprom_id = oxygen_read_eeprom(chip, 0);
284 if (eeprom_id != OXYGEN_EEPROM_ID &&
285 (eeprom_id != 0xffff || id->subdevice != 0x8788)) {
282 /* 286 /*
283 * This function gets called only when a known card model has 287 * This function gets called only when a known card model has
284 * been detected, i.e., we know there is a valid subsystem 288 * been detected, i.e., we know there is a valid subsystem