> > + if (host_tag >= MPI3MR_HOSTTAG_DEVRMCMD_MIN && > > + host_tag <= MPI3MR_HOSTTAG_DEVRMCMD_MAX) { > > + idx = host_tag - MPI3MR_HOSTTAG_DEVRMCMD_MIN; > > + return &mrioc->dev_rmhs_cmds[idx]; > > + } > > > > return NULL; > > } > > Looks like this hunk is misdirected, and should be moved to the device > handling patch ... Hannes - I missed to reply to this thread. I have handled this in V2. I am planning to post V3 soon. > > Hmm. This looks a bit unfortunate. > You are reserving just one tag for task management commands, which is > okay for device and target reset (as there we're running in single-step > mode and will only ever need one tag), but it's certainly not okay for > task abort, which is issued in-line and as such can occur for _every_ > command. > > So I guess you'll need to rethink you tag allocation strategy here. Agree with you Hannes. Currently we are looking for a stable interface and improvement in upcoming driver updates. > > Cheers, > > Hannes > -- > Dr. Hannes Reinecke Kernel Storage Architect > hare@suse.de +49 911 74053 688 > SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg > HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer