diff options
| author | Guillem Jover <guillem@debian.org> | 2005-11-10 02:37:31 +0000 |
|---|---|---|
| committer | Guillem Jover <guillem@debian.org> | 2005-11-10 02:37:31 +0000 |
| commit | e7d14949dd8125c534a8abed8a61a2627d9c0d55 (patch) | |
| tree | 49144ea0875f22156c276e2ff5e4f2be224be4eb | |
| parent | 3b771648392fcefbc60b6de1057b59b13ba97171 (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/changelog | 3 | ||||
| -rw-r--r-- | debian/patches/21_pata_off_by_one_irq.patch | 44 |
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, + |
