linux/drivers/scsi/aic7xxx
James Bottomley c7525233d2 [SCSI] aic7xxx: make correct use of slave_alloc/destroy and remove the per device timer
The allocation of all of our components should be done in slave alloc.
Currently it's rather fancifully refcounted in the queuecommand
callback.  This patch moves allocation and destroy to their correct
places in slave_alloc/slave_destory.  Now we can guarantee that
everywhere a device is requested, it's actually been allocated, so don't
check for this anymore.

Additionally, the per device busy timer was the only source of potential
use after free.  It's been deleted because Linux does the correct thing
with busy returns, so there's no need to implement a separate timer in
the driver.

Finally, implement code that forces all the device parameters to zero
(i.e. async and narrow) in the slave alloc, inform the spi class of the
bios recorded maximums and wait until slave configure before trying
anything more adventurous.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-05-20 15:54:42 -05:00
..
aicasm Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig.aic7xxx aic7xxx: add support for the SPI transport class 2005-04-18 13:52:02 -05:00
Kconfig.aic79xx Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7xxx.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7xxx.reg Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7xxx.seq Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7xxx_93cx6.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7xxx_93cx6.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7xxx_core.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7xxx_inline.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7xxx_osm.c [SCSI] aic7xxx: make correct use of slave_alloc/destroy and remove the per device timer 2005-05-20 15:54:42 -05:00
aic7xxx_osm.h [SCSI] aic7xxx: make correct use of slave_alloc/destroy and remove the per device timer 2005-05-20 15:54:42 -05:00
aic7xxx_osm_pci.c [SCSI] remove dma_mask hacks 2005-05-20 15:54:37 -05:00
aic7xxx_pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7xxx_pci.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7xxx_proc.c [SCSI] aic7xxx: remove Linux 2.4 ifdefs 2005-05-20 15:54:36 -05:00
aic7xxx_reg.h_shipped Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7xxx_reg_print.c_shipped Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7xxx_seq.h_shipped Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx.reg Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx.seq Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx_core.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx_inline.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx_osm.c [PATCH] remove old scsi data direction macros 2005-04-18 13:49:58 -05:00
aic79xx_osm.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx_osm_pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx_pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx_pci.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx_proc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx_reg.h_shipped Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx_reg_print.c_shipped Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic79xx_seq.h_shipped Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7770.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aic7770_osm.c [SCSI] aic7xxx: remove Linux 2.4 ifdefs 2005-05-20 15:54:36 -05:00
aiclib.c [SCSI] aic7xxx: remove usage of obsolete typedefs 2005-05-20 15:54:38 -05:00
aiclib.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cam.h [PATCH] remove old scsi data direction macros 2005-04-18 13:49:58 -05:00
queue.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
scsi_iu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
scsi_message.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00