All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Aravamudan <nacc@us.ibm.com>
To: kj <kernel-janitors@lists.osdl.org>, lkml <linux-kernel@vger.kernel.org>
Subject: [KJ] [UPDATE PATCH] net/sb1000: replace nicedelay() with ssleep()
Date: Tue, 11 Jan 2005 00:39:08 +0000	[thread overview]
Message-ID: <20050111003908.GJ9186@us.ibm.com> (raw)
In-Reply-To: <20050110164703.GD14307@nd47.coderock.org>

[-- Attachment #1: Type: text/plain, Size: 2810 bytes --]

On Mon, Jan 10, 2005 at 05:47:03PM +0100, Domen Puncer wrote:
> Patchset of 171 patches is at http://coderock.org/kj/2.6.10-bk13-kj/
> 
> Quick patch summary: about 30 new, 30 merged, 30 dropped.
> Seems like most external trees are merged in -linus, so i'll start
> (re)sending old patches.

<snip>

> msleep_interruptible-drivers_net_sb1000.patch

Please consider replacing with the following:

Description: Use ssleep() instead of nicedelay()
to guarantee the task delays as expected. Remove the prototype and
definition of nicedelay(). This is a very weird function, because it is
called to sleep in terms of usecs, but always sleeps for 1 second,
completely ignoring the parameter. I have gone ahead and followed suit,
just sleeping for a second in all cases, but maybe someone with the
hardware could tell me if perhaps the paramter *should* matter. Additionally,
nicedelay() is called in TASK_INTERRUPTIBLE state, but doesn't deal with signals
in case these longer delays do not complete, so I believe ssleep() is more
appropriate.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>


--- 2.6.10-v/drivers/net/sb1000.c	2004-12-24 13:33:51.000000000 -0800
+++ 2.6.10/drivers/net/sb1000.c	2005-01-05 14:23:05.000000000 -0800
@@ -90,7 +90,6 @@ static int sb1000_close(struct net_devic
 
 
 /* SB1000 hardware routines to be used during open/configuration phases */
-static inline void nicedelay(unsigned long usecs);
 static inline int card_wait_for_busy_clear(const int ioaddr[],
 	const char* name);
 static inline int card_wait_for_ready(const int ioaddr[], const char* name,
@@ -254,13 +253,6 @@ static struct pnp_driver sb1000_driver =
 
 const int TimeOutJiffies = (875 * HZ) / 100;
 
-static inline void nicedelay(unsigned long usecs)
-{
-	current->state = TASK_INTERRUPTIBLE;
-	schedule_timeout(HZ);
-	return;
-}
-
 /* Card Wait For Busy Clear (cannot be used during an interrupt) */
 static inline int
 card_wait_for_busy_clear(const int ioaddr[], const char* name)
@@ -475,7 +467,7 @@ sb1000_reset(const int ioaddr[], const c
 	udelay(1000);
 	outb(0x0, port);
 	inb(port);
-	nicedelay(60000);
+	ssleep(1);
 	outb(0x4, port);
 	inb(port);
 	udelay(1000);
@@ -537,7 +529,7 @@ sb1000_activate(const int ioaddr[], cons
 	const unsigned char Command0[6] = {0x80, 0x11, 0x00, 0x00, 0x00, 0x00};
 	const unsigned char Command1[6] = {0x80, 0x16, 0x00, 0x00, 0x00, 0x00};
 
-	nicedelay(50000);
+	ssleep(1);
 	if ((status = card_send_command(ioaddr, name, Command0, st)))
 		return status;
 	if ((status = card_send_command(ioaddr, name, Command1, st)))
@@ -944,7 +936,7 @@ sb1000_open(struct net_device *dev)
 	/* initialize sb1000 */
 	if ((status = sb1000_reset(ioaddr, name)))
 		return status;
-	nicedelay(200000);
+	ssleep(1);
 	if ((status = sb1000_check_CRC(ioaddr, name)))
 		return status;
 

[-- 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

WARNING: multiple messages have this Message-ID (diff)
From: Nishanth Aravamudan <nacc@us.ibm.com>
To: kj <kernel-janitors@lists.osdl.org>, lkml <linux-kernel@vger.kernel.org>
Subject: [UPDATE PATCH] net/sb1000: replace nicedelay() with ssleep()
Date: Mon, 10 Jan 2005 16:39:08 -0800	[thread overview]
Message-ID: <20050111003908.GJ9186@us.ibm.com> (raw)
In-Reply-To: <20050110164703.GD14307@nd47.coderock.org>

On Mon, Jan 10, 2005 at 05:47:03PM +0100, Domen Puncer wrote:
> Patchset of 171 patches is at http://coderock.org/kj/2.6.10-bk13-kj/
> 
> Quick patch summary: about 30 new, 30 merged, 30 dropped.
> Seems like most external trees are merged in -linus, so i'll start
> (re)sending old patches.

<snip>

> msleep_interruptible-drivers_net_sb1000.patch

Please consider replacing with the following:

Description: Use ssleep() instead of nicedelay()
to guarantee the task delays as expected. Remove the prototype and
definition of nicedelay(). This is a very weird function, because it is
called to sleep in terms of usecs, but always sleeps for 1 second,
completely ignoring the parameter. I have gone ahead and followed suit,
just sleeping for a second in all cases, but maybe someone with the
hardware could tell me if perhaps the paramter *should* matter. Additionally,
nicedelay() is called in TASK_INTERRUPTIBLE state, but doesn't deal with signals
in case these longer delays do not complete, so I believe ssleep() is more
appropriate.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>


--- 2.6.10-v/drivers/net/sb1000.c	2004-12-24 13:33:51.000000000 -0800
+++ 2.6.10/drivers/net/sb1000.c	2005-01-05 14:23:05.000000000 -0800
@@ -90,7 +90,6 @@ static int sb1000_close(struct net_devic
 
 
 /* SB1000 hardware routines to be used during open/configuration phases */
-static inline void nicedelay(unsigned long usecs);
 static inline int card_wait_for_busy_clear(const int ioaddr[],
 	const char* name);
 static inline int card_wait_for_ready(const int ioaddr[], const char* name,
@@ -254,13 +253,6 @@ static struct pnp_driver sb1000_driver =
 
 const int TimeOutJiffies = (875 * HZ) / 100;
 
-static inline void nicedelay(unsigned long usecs)
-{
-	current->state = TASK_INTERRUPTIBLE;
-	schedule_timeout(HZ);
-	return;
-}
-
 /* Card Wait For Busy Clear (cannot be used during an interrupt) */
 static inline int
 card_wait_for_busy_clear(const int ioaddr[], const char* name)
@@ -475,7 +467,7 @@ sb1000_reset(const int ioaddr[], const c
 	udelay(1000);
 	outb(0x0, port);
 	inb(port);
-	nicedelay(60000);
+	ssleep(1);
 	outb(0x4, port);
 	inb(port);
 	udelay(1000);
@@ -537,7 +529,7 @@ sb1000_activate(const int ioaddr[], cons
 	const unsigned char Command0[6] = {0x80, 0x11, 0x00, 0x00, 0x00, 0x00};
 	const unsigned char Command1[6] = {0x80, 0x16, 0x00, 0x00, 0x00, 0x00};
 
-	nicedelay(50000);
+	ssleep(1);
 	if ((status = card_send_command(ioaddr, name, Command0, st)))
 		return status;
 	if ((status = card_send_command(ioaddr, name, Command1, st)))
@@ -944,7 +936,7 @@ sb1000_open(struct net_device *dev)
 	/* initialize sb1000 */
 	if ((status = sb1000_reset(ioaddr, name)))
 		return status;
-	nicedelay(200000);
+	ssleep(1);
 	if ((status = sb1000_check_CRC(ioaddr, name)))
 		return status;
 

  parent reply	other threads:[~2005-01-11  0:39 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-10 16:47 [KJ] [announce] 2.6.10-bk13-kj Domen Puncer
2005-01-10 16:47 ` Domen Puncer
2005-01-10 18:04 ` [KJ] " Nishanth Aravamudan
2005-01-10 18:04   ` Nishanth Aravamudan
2005-01-10 18:10 ` Nishanth Aravamudan
2005-01-10 18:10   ` Nishanth Aravamudan
2005-01-10 18:19 ` [KJ] [UPDATE PATCH] scsi/osst: replace schedule_timeout() with Nishanth Aravamudan
2005-01-10 18:19   ` [UPDATE PATCH] scsi/osst: replace schedule_timeout() with msleep() Nishanth Aravamudan
2005-01-10 18:23 ` [KJ] [UPDATE PATCH] scsi/qla1280: replace schedule_timeout() with Nishanth Aravamudan
2005-01-10 18:23   ` [UPDATE PATCH] scsi/qla1280: replace schedule_timeout() with ssleep() Nishanth Aravamudan
2005-01-10 18:23 ` [KJ] [UPDATE PATCH] scsi/osst: replace schedule_timeout() with Nishanth Aravamudan
2005-01-10 18:23   ` [UPDATE PATCH] scsi/osst: replace schedule_timeout() with msleep() Nishanth Aravamudan
2005-01-10 20:08 ` [KJ] [UPDATE PATCH] drivers/dmapool: use TASK_UNINTERRUPTIBLE Nishanth Aravamudan
2005-01-10 20:08   ` [UPDATE PATCH] drivers/dmapool: use TASK_UNINTERRUPTIBLE instead of TASK_INTERRUPTIBLE Nishanth Aravamudan
2005-01-10 20:13 ` [KJ] [announce] 2.6.10-bk13-kj Nishanth Aravamudan
2005-01-10 20:13   ` Nishanth Aravamudan
2005-01-10 21:14 ` Nishanth Aravamudan
2005-01-10 21:14   ` Nishanth Aravamudan
2005-01-10 21:15 ` [KJ] [UPDATE PATCH] block/pf: replace pf_sleep() with msleep() Nishanth Aravamudan
2005-01-10 21:15   ` Nishanth Aravamudan
2005-01-10 21:16 ` [KJ] [UPDATE PATCH] block/pcd: replace pcd_sleep() with Nishanth Aravamudan
2005-01-10 21:16   ` [UPDATE PATCH] block/pcd: replace pcd_sleep() with msleep()/ssleep() Nishanth Aravamudan
2005-01-10 21:18 ` [KJ] [UPDATE PATCH] block/pt: replace pt_sleep() with Nishanth Aravamudan
2005-01-10 21:18   ` [UPDATE PATCH] block/pt: replace pt_sleep() with msleep()/ssleep() Nishanth Aravamudan
2005-01-10 21:20 ` [KJ] [UPDATE PATCH] block/pg: replace pg_sleep() with msleep() Nishanth Aravamudan
2005-01-10 21:20   ` Nishanth Aravamudan
2005-01-10 21:27 ` [KJ] [UPDATE PATCH] cdrom/sonycd535: replace schedule_timeout() Nishanth Aravamudan
2005-01-10 21:27   ` [UPDATE PATCH] cdrom/sonycd535: replace schedule_timeout() with msleep() Nishanth Aravamudan
2005-01-10 23:12 ` [KJ] [UPDATE PATCH] message/mptbase: replace schedule_timeout() Nishanth Aravamudan
2005-01-10 23:12   ` [UPDATE PATCH] message/mptbase: replace schedule_timeout() with ssleep() Nishanth Aravamudan
2005-01-11  0:39 ` Nishanth Aravamudan [this message]
2005-01-11  0:39   ` [UPDATE PATCH] net/sb1000: replace nicedelay() " Nishanth Aravamudan
2005-01-11  3:56   ` [KJ] Re: [UPDATE PATCH] net/sb1000: replace nicedelay() with Jeff Garzik
2005-01-11  3:56     ` [UPDATE PATCH] net/sb1000: replace nicedelay() with ssleep() Jeff Garzik
2005-01-11  4:10     ` [KJ] Re: [UPDATE PATCH] net/sb1000: replace nicedelay() with Nish Aravamudan
2005-01-11  4:10       ` [KJ] Re: [UPDATE PATCH] net/sb1000: replace nicedelay() with ssleep() Nish Aravamudan
2005-01-11  0:42 ` [KJ] [UPDATE PATCH] net/slip: replace schedule_timeout() with Nishanth Aravamudan
2005-01-11  0:42   ` [UPDATE PATCH] net/slip: replace schedule_timeout() with msleep() Nishanth Aravamudan
2005-01-11  0:56 ` [KJ] [UPDATE PATCH] sbus/envctrl: replace schedule_timeout() with Nishanth Aravamudan
2005-01-11  0:56   ` [UPDATE PATCH] sbus/envctrl: replace schedule_timeout() with msleep_interruptible() Nishanth Aravamudan
2005-01-11  1:00 ` [KJ] [UPDATE PATCH] scsi/st: replace schedule_timeout() with Nishanth Aravamudan
2005-01-11  1:00   ` [UPDATE PATCH] scsi/st: replace schedule_timeout() with msleep_interruptible() Nishanth Aravamudan

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=20050111003908.GJ9186@us.ibm.com \
    --to=nacc@us.ibm.com \
    --cc=kernel-janitors@lists.osdl.org \
    --cc=linux-kernel@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.