> +/* Fusion OCR work queue */ > +void megasas_fusion_ocr_wq(struct work_struct *work) > +{ > + struct megasas_instance *instance = > + container_of(work, struct megasas_instance, work_init); > + struct scsi_cmnd scmd; > + struct scsi_device dev; > + > + scmd.device = &dev; > + dev.host = instance->host; > + megasas_reset_fusion(&scmd); > +} You should never allocate the scsi midlayer structures yourself, nevermind on stack. It seems like you want a version of megasas_reset_fusion that just takes a scsi host and call it both from the work queue and the EH handler. -- 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