lkml.org 
[lkml]   [2001]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] make drivers/scsi/atari_scsi.c check request_irq (240p3)
Hi again and sorry for the noise.

Hans Grobler kindly pointed me towards scsi_unregister which I heppily had
ignored. The following patch includes this function in the exit paths.
Otherwise it is identical to the earlier one.


--- linux-ac9/drivers/scsi/atari_scsi.c.org Sun Jan 14 19:41:56 2001
+++ linux-ac9/drivers/scsi/atari_scsi.c Sun Jan 14 20:29:30 2001
@@ -690,19 +690,29 @@
/* This int is actually "pseudo-slow", i.e. it acts like a slow
* interrupt after having cleared the pending flag for the DMA
* interrupt. */
- request_irq(IRQ_TT_MFP_SCSI, scsi_tt_intr, IRQ_TYPE_SLOW,
- "SCSI NCR5380", scsi_tt_intr);
+ if (!request_irq(IRQ_TT_MFP_SCSI, scsi_tt_intr, IRQ_TYPE_SLOW,
+ "SCSI NCR5380", scsi_tt_intr)) {
+ printk(KERN_ERR "atari_scsi_detect: cannot allocate irq %d, aborting",IRQ_TT_MFP_SCSI);
+ scsi_unregister(atari_scsi_host);
+ atari_stram_free(atari_dma_buffer);
+ atari_dma_buffer = 0;
+ return 0;
+ }
tt_mfp.active_edge |= 0x80; /* SCSI int on L->H */
#ifdef REAL_DMA
tt_scsi_dma.dma_ctrl = 0;
atari_dma_residual = 0;
-#endif /* REAL_DMA */
-#ifdef REAL_DMA
#ifdef CONFIG_TT_DMA_EMUL
if (MACH_IS_HADES) {
- request_irq(IRQ_AUTO_2, hades_dma_emulator,
- IRQ_TYPE_PRIO, "Hades DMA emulator",
- hades_dma_emulator);
+ if (!request_irq(IRQ_AUTO_2, hades_dma_emulator,
+ IRQ_TYPE_PRIO, "Hades DMA emulator",
+ hades_dma_emulator)) {
+ printk(KERN_ERR "atari_scsi_detect: cannot allocate irq %d, aborting (MACH_IS_HADES)",IRQ_AUTO_2);
+ scsi_unregister(atari_scsi_host);
+ atari_stram_free(atari_dma_buffer);
+ atari_dma_buffer = 0;
+ return 0;
+ }
}
#endif
if (MACH_IS_MEDUSA || MACH_IS_HADES) {
@@ -719,9 +729,8 @@
* the rest data bug is fixed, this can be lowered to 1.
*/
atari_read_overruns = 4;
- }
-#endif
-
+ }
+#endif /*REAL_DMA*/
}
else { /* ! IS_A_TT */

--
Regards,
Rasmus(rasmus@jaquet.dk)

Without censorship, things can get terribly confused in the
public mind. -General William Westmoreland, during the war in Viet Nam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:28    [W:0.033 / U:9.904 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site