On 01/20/2016 05:26 PM, Tomas Henzl wrote: > On 15.1.2016 10:48, Hannes Reinecke wrote: >> Upon command completion the lpfc driver would call ->done() >> on the scsi command before taking the host lock and >> releasing the command internally. >> This opens up a race window there this command might be re-used >> after ->done(), leading to a double completion on the same command. > > I agree that a driver should clean up the command before calling > ->done, but this driver uses a list based system where a command > can't be reused only until it was returned to the list, > so I don't understand how a 'done' before internal free could > cause an issue other than a failed lpfc_get_scsi_buf in .queuecommand. > Is your issue related to the abort_handler > (maybe cmd->host_scribble = NULL; changes the abort handler flow)? > Yes, this was (originally) an issue with the abort handler. But it seems to be gone with the upstream driver, so this patch should be retracted. Will be reposting if and when the issue resurfaces. Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg) -- 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