From ca2a912bc9e7e9c84bc3fc6b49fb431d4bc507f8 Mon Sep 17 00:00:00 2001 From: Marcus Overhagen Date: Mon, 27 Apr 2009 22:09:31 +0000 Subject: [PATCH] Workaround for Gigabyte i-RAM, which always reports 0x00 as error code after bus reset, git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30474 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/bus_managers/ata/ATAChannel.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/bus_managers/ata/ATAChannel.cpp b/src/add-ons/kernel/bus_managers/ata/ATAChannel.cpp index 393e1a5878..5e8fc9ddbd 100644 --- a/src/add-ons/kernel/bus_managers/ata/ATAChannel.cpp +++ b/src/add-ons/kernel/bus_managers/ata/ATAChannel.cpp @@ -354,7 +354,12 @@ ATAChannel::Reset(bool *presence, uint16 *signatures) && (i > 0 || taskFile.read.error != 0x81)) { TRACE_ERROR("device %d failed, error code is 0x%02x\n", i, taskFile.read.error); - continue; + // Workaround for Gigabyte i-RAM, which always reports 0x00 + // TODO: find something nicer + if (i == 1 && taskFile.read.error == 0x00) { + TRACE_ERROR("continuing anyway...\n"); + } else + continue; } if (i == 0 && taskFile.read.error >= 0x80) {