Skip to content

Commit

Permalink
[PATCH] net/sb1000: replace nicedelay() with ssleep()
Browse files Browse the repository at this point in the history
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>
Signed-off-by: Domen Puncer <domen@coderock.org>
  • Loading branch information
Nishanth Aravamudan authored and Jeff Garzik committed Jun 27, 2005
1 parent 62595eb commit a26c074
Showing 1 changed file with 3 additions and 11 deletions.
14 changes: 3 additions & 11 deletions drivers/net/sb1000.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@ static int sb1000_close(struct net_device *dev);


/* 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,
Expand Down Expand Up @@ -254,13 +253,6 @@ static struct pnp_driver sb1000_driver = {

static 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)
Expand Down Expand Up @@ -475,7 +467,7 @@ sb1000_reset(const int ioaddr[], const char* name)
udelay(1000);
outb(0x0, port);
inb(port);
nicedelay(60000);
ssleep(1);
outb(0x4, port);
inb(port);
udelay(1000);
Expand Down Expand Up @@ -537,7 +529,7 @@ sb1000_activate(const int ioaddr[], const char* name)
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)))
Expand Down Expand Up @@ -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;

Expand Down

0 comments on commit a26c074

Please sign in to comment.