On 11/21/2017 01:00 AM, James Smart wrote: > The driver's interaction with the host nvme transport has been > incorrect for a while. The driver did not wait for the unregister > callbacks (waited only 5 jiffies). Thus the driver may remove > objects that may be referenced by subsequent abort commands from > the transport, and the actual unregister callback was effectively > a noop. This was especially problematic if the driver was unloaded. > > The driver now waits for the unregister callbacks, as it should, > before continuing with teardown. > > Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxx> > Signed-off-by: James Smart <james.smart@xxxxxxxxxxxx> > > --- > v3: > per review: clear NLP_WAIT_FOR_UNREG in all cases > --- > drivers/scsi/lpfc/lpfc_disc.h | 2 + > drivers/scsi/lpfc/lpfc_nvme.c | 116 +++++++++++++++++++++++++++++++++++++++--- > drivers/scsi/lpfc/lpfc_nvme.h | 2 + > 3 files changed, 114 insertions(+), 6 deletions(-) > Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> 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)