On Fri, 2006-03-17 at 21:30 +0100, Stefan Richter wrote: > Hi all, > > the following drivers use [__]scsi_add_device/ scsi_remove_device: > > drivers/ieee1394/sbp2.c > drivers/message/i2o/i2o_scsi.c > drivers/message/fusion/mptsas.c > drivers/scsi/aacraid/commsup.c > drivers/scsi/ipr.c > > Sbp2 calls scsi_add_device + scsi_remove_device. > I2o_scsi calls __scsi_add_device + scsi_remove_device + scsi_device_put. > Ipr calls scsi_add_device + scsi_device_get + scsi_remove_device + > scsi_device_put. > > But aacraid and mptsas call scsi_add_device + scsi_remove_device + > scsi_device_put. AFAICS this is either one scsi_device_put too many or > one scsi_device_get too few. I copied Mark Salyzyn since he is the aacraid driver writer. Looking at commsup.c, though, I think that the scsi_device_put is done after the scsi_device_lookup only if the scsi_device_remove is not done. Mark. > > (I am looking at Linus' tree.) -- Mark Haverkamp <markh@xxxxxxxx> - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html