Replaced usage of void * with u64 in data structure shared between
brocade user space libraries and the bfa driver to address pointer
size changes across 32-bit vs 64-bit to have the compatibility between
32bit library and 64bit driver and vice versa.

Signed-off-by: Vijaya Mohan Guvva <vmo...@brocade.com>
---
 drivers/scsi/bfa/bfad_bsg.c | 7 ++++---
 drivers/scsi/bfa/bfad_bsg.h | 4 +++-
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/bfa/bfad_bsg.c b/drivers/scsi/bfa/bfad_bsg.c
index f31acfa..9863b1c 100644
--- a/drivers/scsi/bfa/bfad_bsg.c
+++ b/drivers/scsi/bfa/bfad_bsg.c
@@ -3371,7 +3371,8 @@ bfad_im_bsg_els_ct_request(struct fc_bsg_job *job)
                goto out;
        }
 
-       if (copy_from_user((uint8_t *)bsg_fcpt, bsg_data->payload,
+       if (copy_from_user((uint8_t *)bsg_fcpt,
+                               (void *)(unsigned long)bsg_data->payload,
                                bsg_data->payload_len)) {
                kfree(bsg_fcpt);
                rc = -EIO;
@@ -3525,8 +3526,8 @@ out_free_mem:
        kfree(rsp_kbuf);
 
        /* Need a copy to user op */
-       if (copy_to_user(bsg_data->payload, (void *) bsg_fcpt,
-                        bsg_data->payload_len))
+       if (copy_to_user((void *)(unsigned long)bsg_data->payload,
+                       (void *)bsg_fcpt, bsg_data->payload_len))
                rc = -EIO;
 
        kfree(bsg_fcpt);
diff --git a/drivers/scsi/bfa/bfad_bsg.h b/drivers/scsi/bfa/bfad_bsg.h
index 3ef321c..b0b5ac7 100644
--- a/drivers/scsi/bfa/bfad_bsg.h
+++ b/drivers/scsi/bfa/bfad_bsg.h
@@ -819,10 +819,12 @@ struct bfa_bsg_fcpt_s {
 };
 #define bfa_bsg_fcpt_t struct bfa_bsg_fcpt_s
 
+#pragma pack(1)
 struct bfa_bsg_data {
        int payload_len;
-       void *payload;
+       u64 payload;
 };
+#pragma pack()
 
 #define bfad_chk_iocmd_sz(__payload_len, __hdrsz, __bufsz)     \
        (((__payload_len) != ((__hdrsz) + (__bufsz))) ?         \
-- 
1.7.12

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to