From f9e535e2c1d5c556182a2fb1da80f1d11d5bf739 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Janosch=20Gr=C3=A4f?= Date: Sat, 13 Dec 2008 18:28:51 +0100 Subject: [PATCH] ata: adopted changes from LOST ata --- apps/ata/device.c | 12 +++++++++++- apps/ata/main.c | 1 - 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/ata/device.c b/apps/ata/device.c index c6785dc..abb30d8 100644 --- a/apps/ata/device.c +++ b/apps/ata/device.c @@ -66,8 +66,18 @@ static int ata_bus_floating(struct ata_controller* controller) ATA_DELAY(); status = ata_reg_inb(controller, REG_STATUS); + // Nicht floating + if (status != 0xFF) { + return 0; + } + + // Slave auswaehlen + ata_reg_outb(controller, REG_DEVICE, DEVICE_DEV(1)); + ATA_DELAY(); + status = ata_reg_inb(controller, REG_STATUS); + // Wenn alle Bits gesetzt sind, ist der Bus floating - return (status == 0xFF); + return 1; } /** diff --git a/apps/ata/main.c b/apps/ata/main.c index 2152657..0443117 100644 --- a/apps/ata/main.c +++ b/apps/ata/main.c @@ -39,7 +39,6 @@ #include #include "cdi/storage.h" -#include "cdi/pci.h" #include "cdi/lists.h" #include "device.h" -- 2.11.4.GIT