Martin, Thanks. I will go thru the DIF document and code. But I had a quick question, isn't that drive has to support "protection enable" also. Also, does Controller FW need to do anything extra to send DIF block down to drive. Ideally we will be sending 512 byte blocks down to drive. -Anil --- On Thu, 9/9/10, Martin K. Petersen <martin.petersen@xxxxxxxxxx> wrote: > From: Martin K. Petersen <martin.petersen@xxxxxxxxxx> > Subject: Re: scsi_cmnd data_buffer checksum > To: "Anil kumar" <anils_r@xxxxxxxxx> > Cc: "Christof Schmitt" <christof.schmitt@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx > Date: Thursday, September 9, 2010, 9:23 AM > >>>>> "Anil" == Anil > kumar <anils_r@xxxxxxxxx> > writes: > > Anil> cmd-> write_buf = (u8 > *)(kmap_atomic(sg->page, KM_IRQ0) + sg->offset); > Anil> memcpy(cmd->local_write_buf, cmd->write_buf, > cmd->scsibufflen(scsi_cmnd)); > > You need to walk the scatterlist. You can't assume > that the pages are > contiguous in memory. > > But why are you doing this checksumming stuff manually when > the existing > DIX/DIF code can do it for you? > > -- > Martin K. Petersen Oracle Linux > Engineering > -- 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