|
@@ -161,6 +161,7 @@ static char *version =
|
|
|
#include <linux/etherdevice.h>
|
|
|
#include <linux/skbuff.h>
|
|
|
#include <linux/bitops.h>
|
|
|
+#include <linux/jiffies.h>
|
|
|
|
|
|
#include <asm/system.h>
|
|
|
#include <asm/io.h>
|
|
@@ -754,7 +755,7 @@ static void eth16i_set_port(int ioaddr, int porttype)
|
|
|
|
|
|
static int eth16i_send_probe_packet(int ioaddr, unsigned char *b, int l)
|
|
|
{
|
|
|
- int starttime;
|
|
|
+ unsigned long starttime;
|
|
|
|
|
|
outb(0xff, ioaddr + TX_STATUS_REG);
|
|
|
|
|
@@ -765,7 +766,7 @@ static int eth16i_send_probe_packet(int ioaddr, unsigned char *b, int l)
|
|
|
outb(TX_START | 1, ioaddr + TRANSMIT_START_REG);
|
|
|
|
|
|
while( (inb(ioaddr + TX_STATUS_REG) & 0x80) == 0) {
|
|
|
- if( (jiffies - starttime) > TX_TIMEOUT) {
|
|
|
+ if( time_after(jiffies, starttime + TX_TIMEOUT)) {
|
|
|
return -1;
|
|
|
}
|
|
|
}
|
|
@@ -775,18 +776,18 @@ static int eth16i_send_probe_packet(int ioaddr, unsigned char *b, int l)
|
|
|
|
|
|
static int eth16i_receive_probe_packet(int ioaddr)
|
|
|
{
|
|
|
- int starttime;
|
|
|
+ unsigned long starttime;
|
|
|
|
|
|
starttime = jiffies;
|
|
|
|
|
|
while((inb(ioaddr + TX_STATUS_REG) & 0x20) == 0) {
|
|
|
- if( (jiffies - starttime) > TX_TIMEOUT) {
|
|
|
+ if( time_after(jiffies, starttime + TX_TIMEOUT)) {
|
|
|
|
|
|
if(eth16i_debug > 1)
|
|
|
printk(KERN_DEBUG "Timeout occurred waiting transmit packet received\n");
|
|
|
starttime = jiffies;
|
|
|
while((inb(ioaddr + RX_STATUS_REG) & 0x80) == 0) {
|
|
|
- if( (jiffies - starttime) > TX_TIMEOUT) {
|
|
|
+ if( time_after(jiffies, starttime + TX_TIMEOUT)) {
|
|
|
if(eth16i_debug > 1)
|
|
|
printk(KERN_DEBUG "Timeout occurred waiting receive packet\n");
|
|
|
return -1;
|