Messages in this thread Patch in this message |  | | Date | Sun, 14 Jan 2001 20:35:09 +0100 | From | Rasmus Andersen <> | Subject | Re: [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/
|  |