On Fri, 2017-06-02 at 09:22 +0200, Christoph Hellwig wrote: > I like this idea, but.. > > > -void scsi_init_command(struct scsi_device *dev, struct scsi_cmnd *cmd) > > +void scsi_init_command(struct scsi_device *dev, struct scsi_cmnd *cmd, > > + struct scsi_data_buffer *prot_sdb) > > { > > void *buf = cmd->sense_buffer; > > - void *prot = cmd->prot_sdb; > > unsigned int unchecked_isa_dma = cmd->flags & SCMD_UNCHECKED_ISA_DMA; > > > > /* zero out the cmd, except for the embedded scsi_request */ > > @@ -1164,7 +1164,7 @@ void scsi_init_command(struct scsi_device *dev, struct scsi_cmnd *cmd) > > > > cmd->device = dev; > > cmd->sense_buffer = buf; > > - cmd->prot_sdb = prot; > > + cmd->prot_sdb = prot_sdb; > > What would be the problem of always preserving the original prot_sdb > value instead of passing it by argument? You;d just need to initialize > it in scsi_init_request when the command is allocated. Hello Christoph, That sounds like a good idea to me. I will make that change. Bart.