mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 01:34:14 +08:00
[SCSI] bfa: driver compatibility with 32bit libs
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 <vmohan@brocade.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
c679b599af
commit
bccd2683df
@ -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);
|
||||
|
@ -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))) ? \
|
||||
|
Loading…
Reference in New Issue
Block a user