firewire: ohci: restore GUID on resume.

Some lousy BIOSes, e.g. my Aspire 5720 BIOS forget to restore the GUID
register on resume from RAM.

Fix that by setting it to the last value that was read from it.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
This commit is contained in:
Maxim Levitsky 2010-11-29 04:09:49 +02:00 committed by Stefan Richter
parent ec766a7970
commit 8662b6b029
1 changed files with 7 additions and 0 deletions

View File

@ -3284,6 +3284,13 @@ static int pci_resume(struct pci_dev *dev)
return err;
}
/* Some systems don't setup GUID register on resume from ram */
if (!reg_read(ohci, OHCI1394_GUIDLo) &&
!reg_read(ohci, OHCI1394_GUIDHi)) {
reg_write(ohci, OHCI1394_GUIDLo, (u32)ohci->card.guid);
reg_write(ohci, OHCI1394_GUIDHi, (u32)(ohci->card.guid >> 32));
}
return ohci_enable(&ohci->card, NULL, 0);
}
#endif