Can you please review it ? regards Santosh On Tue, Mar 6, 2012 at 10:36 PM, santosh nayak <santoshprasadnayak@xxxxxxxxx> wrote: > From: Santosh Nayak <santoshprasadnayak@xxxxxxxxx> > > Casting pointer from native data type to other type is > endian-sensitive. > > "iocmd->offset" is 64 bit but we use only first 32 bit. > It works in little-endian system but in big-endian system > it will break. > > Signed-off-by: Santosh Nayak <santoshprasadnayak@xxxxxxxxx> > --- > drivers/scsi/bfa/bfad_bsg.c | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/drivers/scsi/bfa/bfad_bsg.c b/drivers/scsi/bfa/bfad_bsg.c > index 530de2b..c4edc63 100644 > --- a/drivers/scsi/bfa/bfad_bsg.c > +++ b/drivers/scsi/bfa/bfad_bsg.c > @@ -1918,6 +1918,7 @@ bfad_iocmd_debug_fw_core(struct bfad_s *bfad, void *cmd, > struct bfa_bsg_debug_s *iocmd = (struct bfa_bsg_debug_s *)cmd; > void *iocmd_bufptr; > unsigned long flags; > + u32 offset; > > if (bfad_chk_iocmd_sz(payload_len, sizeof(struct bfa_bsg_debug_s), > BFA_DEBUG_FW_CORE_CHUNK_SZ) != BFA_STATUS_OK) { > @@ -1935,8 +1936,10 @@ bfad_iocmd_debug_fw_core(struct bfad_s *bfad, void *cmd, > > iocmd_bufptr = (char *)iocmd + sizeof(struct bfa_bsg_debug_s); > spin_lock_irqsave(&bfad->bfad_lock, flags); > + offset = iocmd->offset; > iocmd->status = bfa_ioc_debug_fwcore(&bfad->bfa.ioc, iocmd_bufptr, > - (u32 *)&iocmd->offset, &iocmd->bufsz); > + &offset, &iocmd->bufsz); > + iocmd->offset = offset; > spin_unlock_irqrestore(&bfad->bfad_lock, flags); > out: > return 0; > -- > 1.7.4.4 > -- 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