We are going to kill MAX_UDELAY_MS, so replace it
in common code with 1. Also fix a buglet on the way:
mpc83xx_spi->nsecs > MAX_UDELAY_MS * 1000
was comparing nanoseconds to microseconds.
Signed-off-by: Denis Vlasenko <[email protected]>
--
vda
diff -urpN linux-2.6.18.new.1/drivers/scsi/ipr.c linux-2.6.18.new.2/drivers/scsi/ipr.c
--- linux-2.6.18.new.1/drivers/scsi/ipr.c 2006-09-20 05:42:06.000000000 +0200
+++ linux-2.6.18.new.2/drivers/scsi/ipr.c 2006-09-22 00:00:48.000000000 +0200
@@ -1596,11 +1596,7 @@ static int ipr_wait_iodbg_ack(struct ipr
if (pcii_reg & IPR_PCII_IO_DEBUG_ACKNOWLEDGE)
return 0;
- /* udelay cannot be used if delay is more than a few milliseconds */
- if ((delay / 1000) > MAX_UDELAY_MS)
- mdelay(delay / 1000);
- else
- udelay(delay);
+ udelay(delay);
delay += delay;
}
diff -urpN linux-2.6.18.new.1/drivers/spi/spi_bitbang.c linux-2.6.18.new.2/drivers/spi/spi_bitbang.c
--- linux-2.6.18.new.1/drivers/spi/spi_bitbang.c 2006-09-20 05:42:06.000000000 +0200
+++ linux-2.6.18.new.2/drivers/spi/spi_bitbang.c 2006-09-22 00:00:48.000000000 +0200
@@ -168,7 +168,7 @@ int spi_bitbang_setup_transfer(struct sp
hz = spi->max_speed_hz;
if (hz) {
cs->nsecs = (1000000000/2) / hz;
- if (cs->nsecs > (MAX_UDELAY_MS * 1000 * 1000))
+ if (cs->nsecs > (1000 * 1000))
return -EINVAL;
}
diff -urpN linux-2.6.18.new.1/drivers/spi/spi_mpc83xx.c linux-2.6.18.new.2/drivers/spi/spi_mpc83xx.c
--- linux-2.6.18.new.1/drivers/spi/spi_mpc83xx.c 2006-09-20 05:42:06.000000000 +0200
+++ linux-2.6.18.new.2/drivers/spi/spi_mpc83xx.c 2006-09-22 00:00:48.000000000 +0200
@@ -211,7 +211,7 @@ int mpc83xx_spi_setup_transfer(struct sp
if (!hz)
hz = spi->max_speed_hz;
mpc83xx_spi->nsecs = (1000000000 / 2) / hz;
- if (mpc83xx_spi->nsecs > MAX_UDELAY_MS * 1000)
+ if (mpc83xx_spi->nsecs > (1000 * 1000))
return -EINVAL;
if (bits_per_word == 32)
diff -urpN linux-2.6.18.new.1/include/asm-parisc/delay.h linux-2.6.18.new.2/include/asm-parisc/delay.h
--- linux-2.6.18.new.1/include/asm-parisc/delay.h 2006-09-20 05:42:06.000000000 +0200
+++ linux-2.6.18.new.2/include/asm-parisc/delay.h 2006-09-22 00:00:48.000000000 +0200
@@ -24,9 +24,8 @@ static __inline__ void __cr16_delay(unsi
/*
* Note: Due to unsigned math, cr16 rollovers shouldn't be
- * a problem here. However, on 32 bit, we need to make sure
- * we don't pass in too big a value. The current default
- * value of MAX_UDELAY_MS should help prevent this.
+ * a problem here. On 32 bit, we are protected in udelay()
+ * from passing in too big a value.
*/
start = mfctl(16);
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]