summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2005-11-10 02:37:31 +0000
committerGuillem Jover <guillem@debian.org>2005-11-10 02:37:31 +0000
commite7d14949dd8125c534a8abed8a61a2627d9c0d55 (patch)
tree49144ea0875f22156c276e2ff5e4f2be224be4eb
parent3b771648392fcefbc60b6de1057b59b13ba97171 (diff)
Fix an off-by-one bug in the PATA probe function.
- debian/patches/21_pata_off_by_one_irq.patch: New file. Thanks to Patch by Sergio Lopez <koro@sinrega.org>.
-rw-r--r--debian/changelog3
-rw-r--r--debian/patches/21_pata_off_by_one_irq.patch44
2 files changed, 47 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 2df8aa3..5abb3b3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,6 +11,9 @@ gnumach (1:20050801-5) unstable; urgency=low
request_irq().
- debian/patches/20_ide_disable_irqs.patch: New file.
Thanks to Samuel Thibault <samuel.thibault@ens-lyon.org>.
+ * Fix an off-by-one bug in the PATA probe function.
+ - debian/patches/21_pata_off_by_one_irq.patch: New file.
+ Thanks to Patch by Sergio Lopez <koro@sinrega.org>.
* Now using Standards-Version 3.6.2 (no changes needed).
-- Guillem Jover <guillem@debian.org> Mon, 1 Aug 2005 04:43:41 +0300
diff --git a/debian/patches/21_pata_off_by_one_irq.patch b/debian/patches/21_pata_off_by_one_irq.patch
new file mode 100644
index 0000000..80d133e
--- /dev/null
+++ b/debian/patches/21_pata_off_by_one_irq.patch
@@ -0,0 +1,44 @@
+#DPATCHLEVEL=0
+
+2005-10-29 Alfred M. Szmidt <ams@gnu.org>
+
+ * linux/src/drivers/scsi/eata_pio.c (eata_pio_detect): Fix a
+ off-by-one error when probing.
+ * linux/src/drivers/scsi/eata_dma.c (eata_detect): Likewise.
+ * linux/dev/drivers/scsi/eata_dma.c (eata_detect): Likewise.
+ Patch by Sergio Lopez <koro@sinrega.org>.
+
+--- linux/src/drivers/scsi/eata_dma.c
++++ linux/src/drivers/scsi/eata_dma.c
+@@ -1532,7 +1532,7 @@
+
+ find_ISA(&gc, tpnt);
+
+- for (i = 0; i <= MAXIRQ; i++) { /* Now that we know what we have, we */
++ for (i = 0; i < MAXIRQ; i++) { /* Now that we know what we have, we */
+ if (reg_IRQ[i] >= 1){ /* exchange the interrupt handler which */
+ free_irq(i, NULL); /* we used for probing with the real one */
+ request_irq(i, (void *)(eata_int_handler), SA_INTERRUPT|SA_SHIRQ,
+--- linux/src/drivers/scsi/eata_pio.c
++++ linux/src/drivers/scsi/eata_pio.c
+@@ -981,7 +981,7 @@
+
+ find_pio_ISA(&gc, tpnt);
+
+- for (i = 0; i <= MAXIRQ; i++)
++ for (i = 0; i < MAXIRQ; i++)
+ if (reg_IRQ[i])
+ request_irq(i, eata_pio_int_handler, SA_INTERRUPT, "EATA-PIO", NULL);
+
+--- linux/dev/drivers/scsi/eata_dma.c
++++ linux/dev/drivers/scsi/eata_dma.c
+@@ -1536,7 +1536,7 @@
+
+ find_ISA(&gc, tpnt);
+
+- for (i = 0; i <= MAXIRQ; i++) { /* Now that we know what we have, we */
++ for (i = 0; i < MAXIRQ; i++) { /* Now that we know what we have, we */
+ if (reg_IRQ[i] >= 1){ /* exchange the interrupt handler which */
+ free_irq(i, NULL); /* we used for probing with the real one */
+ request_irq(i, (void *)(eata_int_handler), SA_INTERRUPT|SA_SHIRQ,
+