From 7d8b7c43acbe88ccb1f0c5c83b8854dde2d44b27 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Wed, 6 Feb 2008 02:57:49 +0100 Subject: [PATCH] --- yaml --- r: 83342 b: refs/heads/master c: b004223db7249d42db893df916457acecc22759c h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/ide/legacy/hd.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index ea218ed7b5f5..0b21594e5a4b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1dcfdf93f66375567ec563de74bbb8c295ac88df +refs/heads/master: b004223db7249d42db893df916457acecc22759c diff --git a/trunk/drivers/ide/legacy/hd.c b/trunk/drivers/ide/legacy/hd.c index 8e05d88e81ba..0b0d86731927 100644 --- a/trunk/drivers/ide/legacy/hd.c +++ b/trunk/drivers/ide/legacy/hd.c @@ -421,11 +421,14 @@ static void bad_rw_intr(void) static inline int wait_DRQ(void) { - int retries = 100000, stat; + int retries; + int stat; - while (--retries > 0) - if ((stat = inb_p(HD_STATUS)) & DRQ_STAT) + for (retries = 0; retries < 100000; retries++) { + stat = inb_p(HD_STATUS); + if (stat & DRQ_STAT) return 0; + } dump_status("wait_DRQ", stat); return -1; }