From: Nishanth Aravamudan <nacc@us.ibm.com>
To: kernel-janitors@vger.kernel.org
Subject: [Kernel-janitors] [PATCH 2.6.9-rc2 26/33] char/stallion: replace
Date: Thu, 16 Sep 2004 21:20:46 +0000 [thread overview]
Message-ID: <20040916212046.GT1777@us.ibm.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 2504 bytes --]
Any comments would be appreciated. I'm not sure if I did the desired
thing here, as I got rid of stl_delay() completely. After the
msleep_interruptible() replacement, stli_delay() would only be used in
one place. I'm not sure which way is preferred (the original or mine)
regarding the second change, therefore.
Description: Use msleep_interruptible() instead of stl_delay() to
guarantee the task delays as expected. Removed the definition /
prototype of stl_delay() as it was only called in one other place,
where I made the direct change to
set_current_state()/schedule_timeout().
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
--- 2.6.9-rc2-vanilla/drivers/char/stallion.c 2004-09-13 17:15:50.000000000 -0700
+++ 2.6.9-rc2/drivers/char/stallion.c 2004-09-16 14:17:30.000000000 -0700
@@ -512,7 +512,6 @@ static int stl_clrportstats(stlport_t *p
static int stl_getportstruct(stlport_t __user *arg);
static int stl_getbrdstruct(stlbrd_t __user *arg);
static int stl_waitcarrier(stlport_t *portp, struct file *filp);
-static void stl_delay(int len);
static void stl_eiointr(stlbrd_t *brdp);
static void stl_echatintr(stlbrd_t *brdp);
static void stl_echmcaintr(stlbrd_t *brdp);
@@ -1205,7 +1204,7 @@ static void stl_close(struct tty_struct
if (portp->openwaitcnt) {
if (portp->close_delay)
- stl_delay(portp->close_delay);
+ msleep_interruptible(jiffies_to_msecs(portp->close_delay));
wake_up_interruptible(&portp->open_wait);
}
@@ -1217,25 +1216,6 @@ static void stl_close(struct tty_struct
/*****************************************************************************/
/*
- * Wait for a specified delay period, this is not a busy-loop. It will
- * give up the processor while waiting. Unfortunately this has some
- * rather intimate knowledge of the process management stuff.
- */
-
-static void stl_delay(int len)
-{
-#ifdef DEBUG
- printk("stl_delay(len=%d)\n", len);
-#endif
- if (len > 0) {
- current->state = TASK_INTERRUPTIBLE;
- schedule_timeout(len);
- }
-}
-
-/*****************************************************************************/
-
-/*
* Write routine. Take data and stuff it in to the TX ring queue.
* If transmit interrupts are not running then start them.
*/
@@ -1858,7 +1838,8 @@ static void stl_waituntilsent(struct tty
while (stl_datastate(portp)) {
if (signal_pending(current))
break;
- stl_delay(2);
+ set_current_state(TASK_INTERRUPTIBLE);
+ schedule_timeout(2);
if (time_after_eq(jiffies, tend))
break;
}
[-- Attachment #2: Type: text/plain, Size: 167 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
next reply other threads:[~2004-09-16 21:20 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-16 21:20 Nishanth Aravamudan [this message]
2004-09-21 21:54 ` [Kernel-janitors] [PATCH 2.6.9-rc2 26/33] char/stallion: replace maximilian attems
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040916212046.GT1777@us.ibm.com \
--to=nacc@us.ibm.com \
--cc=kernel-janitors@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.