Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bccd2683 authored by Vijaya Mohan Guvva's avatar Vijaya Mohan Guvva Committed by James Bottomley
Browse files

[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: default avatarVijaya Mohan Guvva <vmohan@brocade.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent c679b599
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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);
+3 −1
Original line number Diff line number Diff line
@@ -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))) ?		\