a2f5bfcf71
aic79xx leaves timers inserted when ahd_init() (which inserts two timers at its very end) succeeds but ahd_pci_map_int() fails. In this case ahd->init_level gets incremented to 5 only when that function succeeds, but ahd_free() calls ahd_shutdown() only when ahd->init_level == 5, and ahd_shutdown() is where the timers get removed. Since the freeing of the IRQ is not controlled by ahd->init_level, we should increment init_level prior to calling ahd_pci_map_int(). Reported-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> |
||
---|---|---|
.. | ||
aicasm | ||
.gitignore | ||
aic7xxx_93cx6.c | ||
aic7xxx_93cx6.h | ||
aic7xxx_core.c | ||
aic7xxx_inline.h | ||
aic7xxx_osm_pci.c | ||
aic7xxx_osm.c | ||
aic7xxx_osm.h | ||
aic7xxx_pci.c | ||
aic7xxx_pci.h | ||
aic7xxx_proc.c | ||
aic7xxx_reg_print.c_shipped | ||
aic7xxx_reg.h_shipped | ||
aic7xxx_seq.h_shipped | ||
aic7xxx.h | ||
aic7xxx.reg | ||
aic7xxx.seq | ||
aic79xx_core.c | ||
aic79xx_inline.h | ||
aic79xx_osm_pci.c | ||
aic79xx_osm.c | ||
aic79xx_osm.h | ||
aic79xx_pci.c | ||
aic79xx_pci.h | ||
aic79xx_proc.c | ||
aic79xx_reg_print.c_shipped | ||
aic79xx_reg.h_shipped | ||
aic79xx_seq.h_shipped | ||
aic79xx.h | ||
aic79xx.reg | ||
aic79xx.seq | ||
aic7770_osm.c | ||
aic7770.c | ||
aiclib.c | ||
aiclib.h | ||
cam.h | ||
Kconfig.aic7xxx | ||
Kconfig.aic79xx | ||
Makefile | ||
queue.h | ||
scsi_iu.h | ||
scsi_message.h |