From patchwork Mon Nov 29 02:09:49 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Levitsky X-Patchwork-Id: 73358 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 7E78EB708B for ; Mon, 29 Nov 2010 13:10:26 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754201Ab0K2CKT (ORCPT ); Sun, 28 Nov 2010 21:10:19 -0500 Received: from mail-bw0-f46.google.com ([209.85.214.46]:48670 "EHLO mail-bw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754182Ab0K2CKT (ORCPT ); Sun, 28 Nov 2010 21:10:19 -0500 Received: by mail-bw0-f46.google.com with SMTP id 15so3474612bwz.19 for ; Sun, 28 Nov 2010 18:10:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer:in-reply-to:references; bh=J/Ediw2D2aKiWenxuDZfjqi7jl0IHr5jEj3OmlAWm6g=; b=fGE8S98muvOaYDxJ6L1eJ1hgSdpBa5OMmREhQhPtQ9H+v8egp9kXsHB3SHgkPBKkMD RqZ46IijxPsoeLRBPhzRXW0irMnXS3GZw769xL9bMuKiC3Sqta3GiIRKN1sm1zw46rfQ eKYrIdXFZ0BSRM0O5a0y5DoL209Q4t1Pbs6bY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=vNDWgKFy47bXxaqHiPQ/3ThngDAxUcjleAsrs0b3A5XzxfpVBTgKSa7dO1xN96UGxL f7fQjFAQclq6TCR6wPANMCtW6vIeisJT0AazpYTP9B4YoveaahEGXSp14fOXH+0tX7Gh D0Cc5piNbgj9e3NF7HrB0up1tds1SVOjEmtho= Received: by 10.204.62.202 with SMTP id y10mr4206609bkh.120.1290996617957; Sun, 28 Nov 2010 18:10:17 -0800 (PST) Received: from maxim-laptop ([77.125.106.104]) by mx.google.com with ESMTPS id p22sm1742200bkp.9.2010.11.28.18.10.15 (version=SSLv3 cipher=RC4-MD5); Sun, 28 Nov 2010 18:10:17 -0800 (PST) From: Maxim Levitsky To: linux1394-devel Cc: Stefan Richter , netdev@vger.kernel.org, Maxim Levitsky Subject: [PATCH 1/5] firewire: ohci: restore GUID on resume. Date: Mon, 29 Nov 2010 04:09:49 +0200 Message-Id: <1290996593-32416-2-git-send-email-maximlevitsky@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1290996593-32416-1-git-send-email-maximlevitsky@gmail.com> References: <1290996593-32416-1-git-send-email-maximlevitsky@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 --- drivers/firewire/ohci.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c index 6dd56cd..0fbadb7 100644 --- a/drivers/firewire/ohci.c +++ b/drivers/firewire/ohci.c @@ -3240,6 +3240,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