> -----Original Message----- > From: linux-scsi-owner@xxxxxxxxxxxxxxx [mailto:linux-scsi- > owner@xxxxxxxxxxxxxxx] On Behalf Of Joe Lawrence ... > In your crash stack trace, the scsi error handler has issued a host > reset, but then crashed in mpt2sas_base_get_iocstate. Reading through > _scsih_shutdown, I don't believe that the mpt2sas .shutdown path takes > any precaution before heading down mpt2sas_base_detach to free adapter > resources. The ordinary .remove path looks similar, though it does > call sas_remove_host before freeing resources, *then* scsi_remove_host > and scsi_host_put. > > I wonder if this ordering needs to be reversed (and added to > _scsih_shutdown) to properly de-register from the SCSI midlayer prior > to removing the controller instance. > > Regards, > > -- Joe Nagalakshmi was working on an mpt3sas patch for the scsi-mq tree to do just that. I don't recall if the patch has made it into the scsi-mq tree yet. Apparently it's also needed for non-mq and mpt2sas. It is making this change: > sas_remove_host(shost); > + scsi_remove_host(shost); > mpt3sas_base_detach(ioc); > list_del(&ioc->list); > - scsi_remove_host(shost); > scsi_host_put(shost); We are making a similar change in hpsa. Doing so led to a general protection fault, which unveiled that we also needed to change cancel_delayed_work() calls to cancel_delayed_work_sync() to ensure there are no worker functions still active after the scsi_host structure is unregistered. -- To unsubscribe from this list: 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