Received: from mail.onstor.com ([66.201.51.107]) by onstor-exch02.onstor.net with Microsoft SMTPSVC(6.0.3790.1830);
	 Fri, 25 Jul 2008 10:53:25 -0700
Received: from dalesmta2-2.messageone.com ([129.41.169.249]) by mail.onstor.com with Microsoft SMTPSVC(6.0.3790.1830);
	 Fri, 25 Jul 2008 10:53:22 -0700
Received: from ftp.linux-mips.org (ftp.linux-mips.org [213.58.128.207])
	by dalesmta2-2.messageone.com (8.13.8/8.13.8) with ESMTP id m6PHrKMu015699
	for <andy.sharp@onstor.com>; Fri, 25 Jul 2008 12:53:21 -0500
Received: from localhost.localdomain ([127.0.0.1]:32989 "EHLO
	ftp.linux-mips.org") by ftp.linux-mips.org with ESMTP
	id S28580291AbYGYRxG (ORCPT <rfc822;andy.sharp@onstor.com>);
	Fri, 25 Jul 2008 18:53:06 +0100
Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 25 Jul 2008 18:52:49 +0100 (BST)
Received: from smtp.wellnetcz.com ([212.24.148.102]:53162 "EHLO
	smtp.wellnetcz.com") by ftp.linux-mips.org with ESMTP
	id S28580240AbYGYRwr (ORCPT <rfc822;linux-mips@linux-mips.org>);
	Fri, 25 Jul 2008 18:52:47 +0100
Received: from localhost.localdomain ([88.208.94.142])
	by smtp.wellnetcz.com (8.14.1/8.14.1) with ESMTP id m6PIAFq5009830;
	Fri, 25 Jul 2008 20:10:16 +0200
From: Jiri Slaby <jirislaby@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mips@linux-mips.org, linux-kernel@vger.kernel.org,
        Jiri Slaby <jirislaby@gmail.com>, Ralf Baechle <ralf@linux-mips.org>
Subject: [PATCH 1/1] Char: ds1286, eliminate busy waiting
Date: 	Fri, 25 Jul 2008 19:49:58 +0200
Message-Id: <1217008198-17143-1-git-send-email-jirislaby@gmail.com>
X-Mailer: git-send-email 1.5.6.2
X-archive-position: 19969
X-ecartis-version: Ecartis v1.0.0
Sender: linux-mips-bounce@linux-mips.org
Errors-to: linux-mips-bounce@linux-mips.org
X-original-sender: jirislaby@gmail.com
Precedence: bulk
X-list: 	linux-mips
X-MessageOne-Virus-Version: vendor=fsecure engine=4.65.7161:2.4.4,1.2.40,4.0.164 definitions=2008-07-25_06:2008-07-24,2008-07-25,2008-07-25 signatures=0
X-MessageOne-Virus-Scanned: Clean
X-MessageOne-Envelope-Sender: linux-mips-bounce@linux-mips.org
X-MessageOne-Spam-Details: rule=m773emszm_notspam policy=m773emszm score=0 spamscore=0 ipscore=0 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx engine=3.1.0-0805090000 definitions=main-0807250100
X-MessageOne-Spam-Score: 0
X-MessageOne-Spam-Bar: 
Return-Path: linux-mips-bounce@linux-mips.org
X-OriginalArrivalTime: 25 Jul 2008 17:53:22.0471 (UTC) FILETIME=[546C7370:01C8EE7F]

ds1286_get_time(); is not called from atomic context, sleep for 20 ms is
better choice than a (home-made) busy waiting for such a situation.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
---
 drivers/char/ds1286.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/drivers/char/ds1286.c b/drivers/char/ds1286.c
index fb58493..5329d48 100644
--- a/drivers/char/ds1286.c
+++ b/drivers/char/ds1286.c
@@ -443,7 +443,6 @@ static void ds1286_get_time(struct rtc_time *rtc_tm)
 {
 	unsigned char save_control;
 	unsigned long flags;
-	unsigned long uip_watchdog = jiffies;
 
 	/*
 	 * read RTC once any update in progress is done. The update
@@ -456,8 +455,7 @@ static void ds1286_get_time(struct rtc_time *rtc_tm)
 	 */
 
 	if (ds1286_is_updating() != 0)
-		while (time_before(jiffies, uip_watchdog + 2*HZ/100))
-			barrier();
+		msleep(20);
 
 	/*
 	 * Only the values that we read from the RTC are set. We leave
-- 
1.5.6.2


